我正在尝试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")
我正在使用熊猫 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 操作系统:Windows 操作系统版本:10 机器:AMD64 处理器:Intel64 家族 6 模型 78 步进 3,正版英特尔字节顺序:小 LC_ALL:无 LANG:en地区:无。无
熊猫:0.20.1 pytest:3.0.5 pip:9.0.1 setuptools:27.2.0 Cython:无 numpy:1.11.3 scipy:0.18.1 xarray:无 IPython:5.2.2 sphinx:1.5.1 patsy:0 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. 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 无法导入路径中带有重音标记的文件
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句