【问题标题】:How to read first 1000 entries in a csv file如何读取 csv 文件中的前 1000 个条目
【发布时间】:2018-09-04 23:55:55
【问题描述】:

我有一个包含 60,000 个条目的 csv 文件。我阅读它们并将它们存储在这样的嵌套列表中:

entries = []
with open('mnist_train.csv', 'r') as f:
    mycsv = csv.reader(f)
    for row in mycsv:
        entries.append(row)

我如何只阅读前一千个条目,而不是阅读所有 60,000 个条目?

我试过这个没有成功:

entries = []
with open('mnist_train.csv', 'r') as f:
    mycsv = csv.reader(f)
    for row in mycsv[:1000]:
        entries.append(row)

【问题讨论】:

    标签: python-3.x csv


    【解决方案1】:

    正如您发现的那样,csv.reader 不支持切片。您可以使用itertools.islice() 来使用可迭代的对象来完成此操作。例如,

    import itertools
    
    entries = []
    with open('mnist_train.csv', 'r') as f:
        mycsv = csv.reader(f)
        for row in itertools.islice(mycsv, 1000):
            entries.append(row)
    

    【讨论】:

      【解决方案2】:

      你可以使用 pandas 库-

      import pandas as pd
      data = pd.read_csv('path/to/your/file.csv',nrows=1000)
      data_list = data.values.tolist() #creates a list of the first 1000 rows (excludes header)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-06
        • 2018-12-21
        • 2015-10-23
        • 2015-08-08
        • 1970-01-01
        相关资源
        最近更新 更多