如何使用python更新csv中行的特定列

时间:2011-10-14 05:37:19

标签: python csv

我有一个包含以下内容的csv文件

1,2,3,4
a,b,c,d
w,x,y,z

我想将此csv文件内容更新为

1,2,3,4
a,b,c,d,k
w,x,y,z

有人可以分享这个更新过程的Python代码吗?

2 个答案:

答案 0 :(得分:1)

使用csv库,我们读入数据,将其转换为列表列表,将k附加到相关列表,然后再将其写出来。

import csv

data = csv.reader(open("input.csv"))

l = list(data)    
l[1].append("k")

our_writer = csv.writer(open("output.csv", "wb"))

our_writer.writerows(l)

虽然csv库对于你的玩具箱来说并不是完全必要的,但使用可以很好扩展的方法通常也是好的。

答案 1 :(得分:1)

对于这样一个简单的案例,您不需要csv

# sed '2s/$/,k/'
import fileinput
for lineno, line in enumerate(fileinput.input(inplace=True), start=1):
    if lineno == 2:
       line = line.rstrip('\n') + ",k\n"
    print line,

示例:

$ python update_2nd_line.py data_to_update.csv

它将data_to_update.csv文件更新到位。