【发布时间】:2020-07-17 05:03:21
【问题描述】:
我有许多列数不同的 csv 文件。
大多数 csv 文件为 4 列宽,可被读取和连接。
但是,当遇到超过 4 列的文件时,脚本会出错。
我收到以下错误消息:Error tokenizing data. C error: Expected 4 fields in line 125, saw 8.
如果我重构代码(如下)以包含 error_bad_lines=False 的 pd.read_csv,
代码完成并输出一个组合 csv,其中仅包含包含 4 列的行。
如何解决此错误并连接所有内容?
没有索引,所以我只需将 csv 信息堆叠在一起即可。
非常感谢
import os
import glob
import pandas as pd
all_filenames = [
# think this is working correctly with bunch of replies.csv extensions
i for i in glob.glob('C:\\Users\\tkim1\\Python Scripts\\output\\*\\replies.csv')
]
print(all_filenames)
# combine all files in the list
combined_csv = pd.concat([
pd.read_csv(f, error_bad_lines=False) for f in all_filenames
], sort=False)
# export to csv
combined_csv.to_csv("combined_replies.csv", index=False, encoding='utf-8-sig')
【问题讨论】:
标签: python pandas csv concatenation