pandas:文件格式和文件名中带有重音/特殊字符的oserror
我试图用来pandas.read_csv
从一些.csv文件中获取数据。只要文件名或文件路径中没有重音(例如ä,é,ü),此方法就可以正常工作。当我使用诸如这样的文件名时,düm1.csv
出现以下错误:OSError:
Initializing from file failed
。我的代码是:
dum1 = pd.read_csv(r"C:\Users\MyName\Desktop\dumm12\düm1.csv", sep = ";",
decimal = ",", encoding = "utf-8")
我正在使用pandas 0.20.1和python
3.6.0。我发现这在以前的版本中是一个问题,但我认为它已解决。有想法该怎么解决这个吗?我也发现了这个:https : //github.com/pandas-
dev/pandas/issues/15086
pd.show_versions()的输出:
安装的版本提交:无python:3.6.0.final.0 python位:64 OS:Windows
OS版本:10计算机:AMD64处理器:Intel64家族6模型78步骤3,真正的英特尔字节顺序:little
LC_ALL:无LANG:zh_cn地点:无。无
大熊猫:0.20.1 pytest:3.0.5 pip:9.0.1 setuptools:27.2.0 Cython:None numpy:1.11.3
scipy:0.18.1 xarray:None IPython:5.2.2 sphinx:1.5.1 patsy:0.4。 1
dateutil:2.6.0 pytz:2016.10 blosc:无瓶颈:1.2.0表:3.2.2
numexpr:2.6.2羽毛:无matplotlib:2.0.0 openpyxl:2.4.1 xlrd:1.0.0 xlwt:1.2.0
xlsxwriter:0.9.6 lxml:3.7.3 bs4:4.5.3 html5lib:0.999 sqlalchemy:1.1.5
pymysql:无psycopg2:无jinja2:2.9.5 s3fs:无pandas_gbq:无pandas_datareader:无
-
我有一个类似的问题。在Windows系统中,使用Python 3.6的pandas.read_csv似乎出现了问题。
Python 3.6将Windows文件系统编码从“ mbcs”更改为“ UTF-8”。参见Python PEP
529。您可以使用命令sys.getfilesystemencoding()
获取当前文件系统编码我得到两种解决方案:
1.-使用此代码将所有应用更改为与以前的Python <= 3.5编码(“ mbcs”)配合使用
import sys sys._enablelegacywindowsfsencoding()
2.-将文件指针传递给pandas.read_csv
with open("C:\Users\MyName\Desktop\dumm12\düm1.csv", 'r') as fp: dum1 = pd.read_csv(fp, sep = ";", decimal = ",", encoding = "utf-8")
您可以看到此信息:pandas.read_csv无法导入路径中带有重音符号的文件