@创建于:20210407
@修改于:20210407
1、问题描述
python pandas 读csv文件遇到如下报错:
ValueError: Falling back to the ‘python’ engine because the separator encoded in utf-8 is > 1 char long, and the ‘c’ engine does not support such separators, but this causes ‘low_memory’ to be ignored as it is not supported by the ‘python’ engine.
2、解决办法
我的问题在于csv是英文分号,而在读的时候用的是中文分号。
if os.path.exists("data/test.csv"):
df_day = pd.read_csv(filepath_or_buffer='data/test.csv', sep=';', header=0, low_memory=False)
中文分号(;)改成 英文分号(;)
if os.path.exists("data/test.csv"):
df_day = pd.read_csv(filepath_or_buffer='data/test.csv', sep=';', header=0, low_memory=False)
3、其他解决办法
增加函数的引擎参数engine=‘python’,如下:
header = ['user_id', 'item_id', 'rating', 'timestamp']
df = pd.read_csv("D:/ratings.dat", sep='::', names=header,engine='python')