Pandas讀取CSV文件的問(wèn)題解決

使用pandas讀取CSV文件,只需要很簡(jiǎn)單的兩行代碼:

os.chdir(import_data_path)
a = pd.read_csv('filename.csv')

今天在這個(gè)過(guò)程中遇到兩個(gè)問(wèn)題,記錄一下。

一、OSError: Initializing from file failed

文件還沒(méi)開(kāi)始讀取,就已經(jīng)失敗了,查了一下是文件路徑import_data_path包含中文的問(wèn)題。把import_data_path修改成全英文,問(wèn)題就解決了。在中文路徑前加上“u”不能解決問(wèn)題。

有一點(diǎn)奇怪,我使用的是Anaconda3,python3對(duì)中文的支持已經(jīng)很好,每一個(gè)文件都自帶utf-8編碼方式的指定。當(dāng)我把csv另存為excel,使用pd.ExcelFile來(lái)讀取的時(shí)候,即使文件路徑包含中文,都不會(huì)報(bào)錯(cuò)。

os.chdir(import_data_path)
xls_file = pd.ExcelFile('filename.xlsx')
a = xls_file.parse('sheetname')

二、UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb5 in position 0: invalid start byte

這是因?yàn)镃SV文件保存時(shí)沒(méi)有用'utf-8' 編碼。使用記事本打開(kāi)csv文件,另存為utf-8編碼的文件,就解決了。如下圖。


當(dāng)CSV的數(shù)據(jù)量很大時(shí)(百萬(wàn)),記事本打開(kāi)會(huì)很慢。建議用EmEditor打開(kāi)再另存為。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,545評(píng)論 19 139
  • 原文地址 用java生成一個(gè)UTF-8文件(指定了utf-8格式了): 如果文件內(nèi)容中沒(méi)有中文內(nèi)容,則生成的文件為...
    東方白閱讀 3,080評(píng)論 0 0
  • 字符集和編碼簡(jiǎn)介 在編程中常??梢砸?jiàn)到各種字符集和編碼,包括ASCII,MBCS,Unicode等字符集。確切的說(shuō)...
    蘭山小亭閱讀 9,080評(píng)論 0 13
  • 編碼問(wèn)題一直困擾著開(kāi)發(fā)人員,尤其在 Java 中更加明顯,因?yàn)?Java 是跨平臺(tái)語(yǔ)言,不同平臺(tái)之間編碼之間的切換...
    x360閱讀 2,579評(píng)論 1 20
  • 最近說(shuō)了好多關(guān)于時(shí)間的話題,再一次對(duì)自己刷新一遍有關(guān)時(shí)間的真理:時(shí)間是有限的公平的,要抓住當(dāng)下的時(shí)間,暢想未來(lái)的時(shí)...
    單雙眼星人閱讀 405評(píng)論 0 0

友情鏈接更多精彩內(nèi)容