我有一个巨大的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)