在python中使用writerow附加到我的csv

时间:2019-07-26 10:38:10

标签: python python-3.x csv

我有一张Excel工作表,其中有一栏,标题是“名称”,下面的行是杰瑞。我想做的就是使用带有标头的python附加到此:Age,然后在该行下方写上一行,例如14.

我该怎么做?

with open('simpleexcel.csv', 'r') as f_input:  # Declared variable f_input to open and read the input file
    input_reader = csv.reader(f_input)  # this will iterate ober lines from input file

    with open('Outputfile.csv', "w", newline='') as f_output:  # opens a file for qwriting in this case outputfile
        line_writer = csv.writer(f_output) #If csvfile is a file object, it should be opened with newline=''
        for line in input_reader: #prints every row
            line_writer.writerow(line+['14'])

相反,我得到14和14,我不知道如何获得另一个标头

我必须首先开始

Name 
Jerry

我想要的是:

Name   Age 
Jerry  14 

相反,我得到:

Name   14
Jerry  14 

我如何修改上面的代码?

2 个答案:

答案 0 :(得分:1)

使用png获取标题,然后附加新的列名并将其写回到csv。

例如:

next(input_reader)

答案 1 :(得分:0)

我不知道您要在这里完成什么,但是对于您的示例案例,可以使用它。

dt

输入:

   dt_f = pd.DataFrame({'date':['2019-05-20','2019-05-21','2019-05-22','2019-05-23','2019-05-21','2019-05-22','2019-05-23','2019-05-24', '2019-05-21','2019-05-22'],
                            'reg':['A','A','A','A','B','B','B','B','A','A'],
                             'measure_daily':[25,25,25,25,50,50,50,50,500,500]})

输出:

import csv

with open('simpleexcel.csv', 'r') as f_input:
    input_reader = list(csv.reader(f_input))

input_reader[0].append('Age')
for row in input_reader[1:]:
    row.append(14)


with open('Outputfile.csv', "w", newline='') as f_output:
    csv.writer(f_output).writerows(input_reader)