pandas.read_csv()中文名字的csv文件时出现OSError:Initializing from file failed问题

出现了这个错误,上网查了一下有人说改编码encoding,有人说改engine,但都没能解决这个问题。

看了一下错误原因和pandas的源码,发现调用pandas的read_csv()方法时,默认使用C engine作为parser engine,而当文件名中含有中文的时候,用C engine在部分情况下就会出错(在两台电脑上试了一下一台出错一台没问题,具体原因待分析)。

尝试了一下在调用read_csv()方法时指定engine为Python,

即:

import pandas as pd
pd.read_csv("zhihu_金融.csv", engine='python')

问题解决。

如果打开后得内容为乱码,那么需要结合之前得博客,将encoding设置一下,得:

import pandas as pd
pd.read_csv("zhihu_金融.csv", engine='python',encoding='utf_8_sig')

 

你可能感兴趣的:(常见错误)