首页 > 解决方案 > 将特定行从一个 cvs 文件传输到另一个 cvs 文件

问题描述

所以,我正在尝试将 rows[0,1,2,9,10] 从我指定为“e_file”的内容转移到“no_file”

当我打印“数据”时,我得到了我想要的确切信息,我只是想知道我应该如何继续将这些数据传输到相应的 CSV 文件?

谢谢你。

e_file = '/Users/massive/Desktop//NO/hour.csv'
no_file = '/Users/massive/Desktop/NO/combined.csv'

with open(e_file,'r') as e_r:

    state_code = input("Enter state code: ")
    county_code = input("Enter county code: ")
    station_number = input("Enter station number: ")

    csv_reader_2 = csv.reader(e_r)

    for row in csv_reader_2:

       if row[0] == str(state_code).zfill(2) and row[1] ==str(county_code).zfill(3) and row[2] == str(station_number).zfill(4):
           data = [row[0],row[1],row[2],row[9],row[10]]
           print(data)

标签: pythoncsv

解决方案


也许是这样的(除非您提供一个工作示例,否则我无法对其进行测试):

with open(newFile, 'wb') as csvfile:
    fwriter = csv.writer(csvfile)
    for line in data:
        fwriter.writerow(line)

推荐阅读