-1

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

4

1 回答 1

1

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

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
于 2020-05-26T07:13:21.903 回答