【问题标题】:Pandas read_csv throws ValueError while reading gzip filePandas read_csv 在读取 gzip 文件时抛出 ValueError
【发布时间】:2022-08-11 00:14:37
【问题描述】:

我正在尝试使用pandas.read_csv 读取 gzip 文件,如下所示:

import pandas as pd
df = pd.read_csv(\"data.ZIP.gz\", usecols=[*range(0, 39)], encoding=\"latin1\", skipinitialspace=True)

但它抛出了这个错误:

ValueError:传递的标头名称与 usecols 不匹配

但是,如果我从 gz 文件中手动提取 zip 文件,那么 read_csv 是否能够正确读取数据:

df = pd.read_csv(\"data.ZIP\", usecols=[*range(0, 39)], encoding=\"latin1\", skipinitialspace=True)

由于我必须阅读很多这些文件,我不想手动提取它们。那么,我该如何解决这个错误呢?

    标签: python pandas


    【解决方案1】:

    使用gzip 模块解压缩所有文件,如下所示

     for file in list_file_names:
        file_name=file.replace(".gz","")
        with gzip.open(file, 'rb') as f:
            file_content = f.read()
            with open(file_name,"wb") as r:
                r.write(file_content)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-08
      • 2020-03-02
      • 2020-04-03
      • 1970-01-01
      • 1970-01-01
      • 2021-08-12
      • 1970-01-01
      • 2022-12-31
      相关资源
      最近更新 更多