如何使用Python读取CSV文件的标题列?

发布于 2021-01-29 17:19:47

我正在寻找一种方法来仅读取大量大型CSV文件的标题行。

对于每个csv文件,使用Pandas可以使用以下方法:

>>> df = pd.read_csv(PATH_TO_CSV)
>>> df.columns

我可以使用csv模块来做到这一点:

>>> reader = csv.DictReader(open(PATH_TO_CSV))
>>> reader.fieldnames

这些问题是每个CSV文件的大小都超过500MB,仅读取标题行而读取每个文件的整个文件似乎是巨大的浪费。

我所有这些的最终目标是提取唯一的列名。一旦有了每个文件中的列标题列表,便可以执行此操作。

如何快速仅提取CSV文件的标题行?

关注者
0
被浏览
177
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    iglob以搜索.csv文件为例,但是一种方法是使用一组,然后根据需要进行调整,例如:

    import csv
    from glob import iglob
    
    unique_headers = set()
    for filename in iglob('*.csv'):
        with open(filename, 'rb') as fin:
            csvin = csv.reader(fin)
            unique_headers.update(next(csvin, []))
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看