如何告诉for循环从头开始读取文件?

时间:2020-05-26 05:45:20

标签: python loops dictionary csvreader

在以下几行中读取CSV文件时:

csv_file = open(sys.argv[1], "r")  # reading the csv file into memory
csv_reader = csv.DictReader(csv_file)

当我尝试使用for循环创建csv_reader的副本时,它可以工作,但是对该副本版本的任何更改都会影响csv_reader变量,以及

for line in csv_reader:
    copy = line 
    break

for line in csv_reader:
    print(line)

第二个for循环将打印thencsv_file中第一行以外的所有内容,为什么?

1 个答案:

答案 0 :(得分:1)

您可以在两次for循环之间使用csv_file.seek(0)

csv_file = open(sys.argv[1], "r")
csv_reader = csv.DictReader(csv_file)

for line in csv_reader:
    copy = line 
    break

csv_file.seek(0)

for line in csv_reader:
    print(line)
# Outputs full csv file
相关问题