在读取以下行中的 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 中第一行之外的所有内容,为什么?
您可以在 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