[英]Python 3 - How to write specific row in same file csv?
我想在同一文件csv中更新一個名為“完成”的字段名
這是csv文件的結構:
輸入:
Email Done
1@gmail.com
2@gmail.com
3@gmail.com
4@gmail.com
輸出:
Email Done
1@gmail.com 1
2@gmail.com 1
3@gmail.com 1
4@gmail.com 1
我想要的樣子:
import csv
with open(r'E:\test.csv','r', encoding='utf-8') as f:
reader = csv.DictReader(f,delimiter='|')
for row in reader:
#do something here#
#then write "1" to filename "done"
f.close()
怎么做 ? 非常感謝你 ! :)
通過這樣的簡單更改,您可以使用一對簡單的讀寫文件。 讀取一行,然后立即將其寫回並添加。
In [6]: with open('test.csv','r') as input:
...: with open('test1.csv','w') as output:
...: header=input.readline()
...: output.write(header)
...: for line in input:
...: output.write('%s %8d\n'%(line.strip(),1))
In [7]: cat test1.csv
Email Done
1@gmail.com 1
2@gmail.com 1
3@gmail.com 1
4@gmail.com 1
您也可以使用csv讀取器和csv寫入器。 numpy
用戶可能會想使用loadtxt
和savetxt
對,盡管在數組中混合字符串和數字值需要更多的專門知識。
在足夠新的Python中,您可以將兩個打開都與上下文放在一起:
with open('test.csv','r') as input, open('test1.csv','w') as output:
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.