将选定行从一个csv复制到另一个csw时出现问题



我有一个巨大的csv文件,里面有全局温度读数。我想找到国家是美国的所有行,并将它们附加到一个新的CSV中。

import csv
country = 'United States'
file_in = 'GlobalLandTemperaturesByCity.csv'
file_out = 'out.csv'
country = 'United States'
with open('GlobalLandTemperaturesByCity.csv', 'rt', encoding="utf8") as f, 
open(file_out, "a", newline='') as f_output:
reader = csv.reader(f, delimiter=',')
for row in reader:
if country == row[4]:
csv.writer(f_output).writerows(row)

输出csv如下所示:每个单元格一个字符

您正在使用writerows()写入一行数据。请尝试使用writerow()

此外,最好在for循环外实例化一次编写器,然后在循环内使用它:

writer = csv.writer(f_output)
for row in reader:
if country == row[4]:
writer.writerow(row)

相关内容

最新更新