如何在python中向csv文件追加列

lrpiutwd  于 2022-12-15  发布在  Python
关注(0)|答案(1)|浏览(184)

背景是csv文件在添加许多列后会变得很大,所以最好不要使用panda dataframe.to_csv从内存中写入整个矩阵。而且数据需要写入同一文件,而不是生成一个新文件作为历史主题,如以下代码所示。可能是panda到_csv附加模式,从新列开始,但不确定如何写入。

data1,data2 data3,data4
1,4,2,4
2,32,1,4
3,3,1,5
4,3,1,5
5,2,22,9
6,3,34,9
7,5,4,9
import csv
def add_col_to_csv(csvfile,fileout,new_list):
    with open(csvfile, 'r') as read_f, \
        open(fileout, 'w', newline='') as write_f:
        csv_reader = csv.reader(read_f)
        csv_writer = csv.writer(write_f)
        i = 0
        for row in csv_reader:
            row.append(new_list[i])
            csv_writer.writerow(row)
            i += 1 


new_list1 = ['new_col',4,4,5,5,9,9,9]
add_col_to_csv('input.csv','output.csv',new_list1)
knsnq2tg

knsnq2tg1#

你可以用这样的东西

df = pd.DataFrame(new_list1).to_csv(f'output.csv', mode='a', index=False, header=False)
del df
del new_list1
new_list1 = []

这将添加它并在之后从内存中删除它.你可以根据数组中的值启用索引和头,但是这是一个非常奇怪和糟糕的方式来添加到csv文件,请尝试json代替.

相关问题