0
我有一个csv文件,其中包含以下内容如何使用python更新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代码吗?
我有一个csv文件,其中包含以下内容如何使用python更新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代码吗?
使用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库是不是你的玩具情况下完全必要的,它往往是很好的使用可很好的办法。
你不需要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
文件就地。
为了一般性,您可能会发现'with'语句有助于正确关闭文件。要更新就地文件,您可以写入临时文件并在成功时重命名它。您应该使用''wb''模式输出文件。如果你在内存中加载所有行,那么'writer.writerows()'允许你一次写入所有的行。 – jfs
@ J.F.Sebastian谢谢!正式指出。 – oadams