Python csv reader在与其他操作一起使用时不返回值

时间:2017-10-28 07:27:42

标签: python csv

我正在尝试解析包含印度城市密码的csv文件。我想要文件中的特定行。

当我尝试这个时,它就像魅力一样:

pinfile = open('pincodes.csv', 'r')

csv_file = csv.reader(pinfile)

for i, row in enumerate(csv_file):
    if i == 67208:
        x = " ".join(row)
        print(x)

pinfile.close()

结果:

  

Padlya B.O 451220 B.O Delivery Khandwa Indore Madhya Pradesh Maheshwar West Nimar MADHYA PRADESH

但是当我在其间添加一行来计算文件中的行数时,for循环不会执行:

pinfile = open('pincodes.csv', 'r')

totalrow = sum(1 for row in pinfile)  # To calculate number of rows

csv_file = csv.reader(pinfile)

for i, row in enumerate(csv_file):
    if i == 67208:
        x = " ".join(row)
        print(x)

pinfile.close()

不显示结果。

请帮忙。我搜索整个论坛但找不到类似的东西。

1 个答案:

答案 0 :(得分:1)

您的总和迭代读取到文件的末尾,因此csv没有任何内容可供阅读。在创建阅读器之前,使用pinfile.seek(0)将文件重置为开头。