首页 > 解决方案 > EmptyDataError:在字典中加载多个文件时,没有要从文件中解析的列

问题描述

我使用以下代码调用了 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 文件中的哪些是造成麻烦的?因为,正如您所理解的,逐个文件检查会消耗大量时间。

非常感谢!

标签: pythonpandascsvdictionary

解决方案


我只会使用 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']

推荐阅读