我正在尝试从一个zip文件中读取50个csv文件,但一直在获取
CParserError:标记数据时出错。C错误:从166行开始的字符串内的EOF我知道读取数据中的特定字符串有错误,可以手动修复,但是不想手动提取所有csv文件来修复每个文件。
with zipfile.ZipFile('C:\Users\Austen\Anaconda\cs109_final\CA34.zip') as zf:
for name in zf.namelist():
container[name] = pd.read_csv(zf.open(name))
Run Code Online (Sandbox Code Playgroud)
我发现的问题是,只有一个。在每个csv文件的末尾。我将如何忽略呢?
参考来自:
https://github.com/pydata/pandas/issues/5500
尝试添加
container[name] = pd.read_csv(zf.open(name),skipfooter=4)
Run Code Online (Sandbox Code Playgroud)
但是我得到“数据意外结束”
将选项添加到read_csv可以解决此问题吗?我有一个类似的问题,并通过添加选项quoting = csv.QUOTE_NONE进行了修复。
例如:
df = pd.read_csv(csvfile, header = None, delimiter="\t", quoting=csv.QUOTE_NONE, encoding='utf-8')
Run Code Online (Sandbox Code Playgroud)
讨论中的第二条评论讨论了为什么:https: //github.com/pydata/pandas/issues/5500