我正在尝试向 csv 文件添加一列,该文件组合了其他两列中的字符串。每当我尝试此操作时,我要么得到仅包含新列的输出 csv,要么得到包含所有原始数据而不是新列的输出。
这是我到目前为止所拥有的:
with open(filename) as csvin:
readfile = csv.reader(csvin, delimiter=',')
with open(output, 'w') as csvout:
writefile = csv.writer(csvout, delimiter=',', lineterminator='\n')
for row in readfile:
result = [str(row[10]) + ' ' + str(row[11])]
writefile.writerow(result)
如有任何帮助,我们将不胜感激。
最佳答案
没有要测试的输入,但试试这个。您当前的方法不包括输入数据中已存在的每行的现有数据。 extend
将获取代表每一行的列表,然后向该列表添加另一个项目...相当于添加一列。
import csv
with open(filename) as csvin:
readfile = csv.reader(csvin, delimiter=',')
with open(output, 'w') as csvout:
writefile = csv.writer(csvout, delimiter=',', lineterminator='\n')
for row in readfile:
row.extend([str(row[10]) + ' ' + str(row[11])])
writefile.writerow(row)
关于python - 在 python 中向 csv 文件添加新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39733158/