gpt4 book ai didi

python - 向现有的csv文件添加新列

转载 作者:行者123 更新时间:2023-12-04 08:08:18 26 4
gpt4 key购买 nike

我有一个包含5列的csv文件,我想在第6列中添加数据。我拥有的数据在一个数组中。

现在,我所拥有的代码只会在csv文件中已经存在所有数据之后,才将我想要的数据插入第6列。

例如,我有:

wind, site, date, time, value
10, 01, 01-01-2013, 00:00, 5.1
89.6 ---> this is the value I want to add in a 6th column but it puts it after all the data from the csv file

这是我正在使用的代码:
csvfile = 'filename'
with open(csvfile, 'a') as output:
writer = csv.writer(output, lineterminator='\n')
for val in data:
writer.writerow([val])

我以为使用 'a'会将数据追加到新列中,但是相反,它只是将其放在所有其他数据之后(“之下”)...我不知道该怎么办!

最佳答案

追加将数据写入文件的末尾,而不是每行的末尾。

而是创建一个新文件,并将新值附加到每一行。

csvfile = 'filename'
with open(csvfile, 'r') as fin, open('new_'+csvfile, 'w') as fout:
reader = csv.reader(fin, newline='', lineterminator='\n')
writer = csv.writer(fout, newline='', lineterminator='\n')
if you_have_headers:
writer.writerow(next(reader) + [new_heading])
for row, val in zip(reader, data)
writer.writerow(row + [data])

在Python 2.x上,删除 newline=''参数,并将文件模式分别从 'r''w'分别更改为 'rb''wb'

一旦确定运行正常,就可以用新文件替换原始文件:
import os
os.remove(csvfile) # not needed on unix
os.rename('new_'+csvfile, csvfile)

关于python - 向现有的csv文件添加新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23682236/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com