我有1000个使用以下代码调用的csv文件(将每个文件放入字典中):
dataframes = {}
csv_root = Path(".")
for csv_path in csv_root.glob("*.csv"):
key = csv_path.stem
dataframes[key] = pd.read_csv(csv_path, skiprows=1)
但是,当我使用此代码时,出现此错误
EmptyDataError: No columns to parse from file
这表示存在空数据或遇到了标头。
我想知道如何识别那1000个CSV文件中的哪个引起了麻烦?因为,如您所知,逐文件检查会花费大量时间。
非常感谢!
答案 0 :(得分:3)
我只会使用try / catch,就像这样:
dataframes = {}
csv_root = Path(".")
for csv_path in csv_root.glob("*.csv"):
key = csv_path.stem
try:
dataframes[key] = pd.read_csv(csv_path, skiprows=1)
except Exception, as e:
dataframes[key] = 'error' # mark the errored
这最后一步将为您解决问题:
errored_stems = [k for k,v in dataframes.iteritems() if k == 'error']