【发布时间】:2020-11-25 16:21:39
【问题描述】:
我正在使用 Python 3.5.3 版和 Pandas 0.20.1 版
我使用 read_csv 读取 csv 文件。我根据post 使用文件指针(我更喜欢使用_enablelegacywindowsfsencoding() 的解决方案)。以下代码有效:
import pandas as pd
with open("C:/Desktop/folder/myfile.csv") as fp:
df=pd.read_csv(fp, sep=";", encoding ="latin")
这确实有效。但是,当文件名中有像ä这样的特殊字符时:
import pandas as pd
with open("C:/Desktop/folderÄ/myfile.csv") as fp:
df=pd.read_csv(fp, sep=";", encoding ="latin")
Python 显示错误消息:(unicode error) 'utf-8' codec can't decode byte oxc4 in position 0: unexpected end of data。
我还尝试在文件路径之前添加一个“r”,但是我得到了相同的错误消息,除了现在我得到一个整数位置,这正是我的特殊字符在文件路径中的位置。
所以原因是文件路径名中的特殊字符。
(不是可以通过使用 encoding="utf-8" 或任何其他类似 ISO-5589-1 来解决的解码错误。绝对可以肯定,我尝试使用以下编码并总是得到相同的错误消息: utf-8, ISO-5589-1, cp1252)
【问题讨论】:
标签: python pandas csv utf-8 filepath