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