【问题标题】:EmptyDataError: No columns to parse from file when loading several files in a dictionaryEmptyDataError:在字典中加载多个文件时,没有要从文件中解析的列
【发布时间】:2020-03-27 13:48:53
【问题描述】:

我有 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

表示有空数据或遇到header。

我想知道如何识别这 1000 个 csv 文件中的哪些是导致问题的文件?因为,正如您所理解的,逐个文件检查会消耗大量时间。

非常感谢!

【问题讨论】:

    标签: python pandas csv dictionary


    【解决方案1】:

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

    【讨论】:

    • 感谢@Brandon,但是当我使用词干代码时,我收到以下错误:“AttributeError: 'dict' object has no attribute 'iteritems'”。似乎是python版本的问题,但我不知道如何解决。你能帮帮我吗?
    猜你喜欢
    • 1970-01-01
    • 2022-07-13
    • 2021-01-28
    • 1970-01-01
    • 2020-02-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-05
    • 1970-01-01
    相关资源
    最近更新 更多