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