数据未追加到我的输出文件中,python csv模块3.6

时间:2018-07-03 21:53:01

标签: python python-3.x csv

我是python世界的新手,需要帮助

我需要从row3删除重复的值并追加row4的数据,我正在使用以下脚本来实现这一点

一切正常,除了未附加第4行中的数据

感谢您对此的帮助

import csv

result = {}

with open('test.csv', 'r') as csv_file:
    csv_reader = csv.DictReader(csv_file)

    with open('output.csv', 'w',encoding='utf-8') as new_file:
        fieldnames = ['row1','row2','row3','row4','row5',]
        csv_writer = csv.DictWriter(new_file,lineterminator='\n' , fieldnames=fieldnames)
        csv_writer.writeheader ()

        for row in csv_reader:
           if row["row3"] in result:
               result [row["row3"]].append (row["row4"])
           else:
               result[row["row3"]] = [row["row4"]]
           csv_writer.writerow({
            "row1":  row["row1"],
            "row2": row["row2"],
            "row3": row["row3"],
            "row4": row["row4"],
            "row4": row["row4"]
            })

1 个答案:

答案 0 :(得分:0)

将行中的“ w”更改为“ a”:

with open('output.csv', 'w',encoding='utf-8') as new_file:

a用于附加到文件。 w用于写操作,它将覆盖以前的所有文件。

有关Python文件输入和输出,请参考https://docs.python.org/3/tutorial/inputoutput.html