我有一些數據需要寫入CSV文件。數據如下用逗號分隔數據CSV Python
A ,B ,C
a1,a2 ,b1 ,c1
a2,a4 ,b3 ,ct
第一列裏面有逗號。整個數據都列在我想要寫入CSV文件的列表中,並以逗號分隔,並且不會干擾列A中的數據。我該怎麼做?提到delimiter = ','
大體上將其分成四列。
我有一些數據需要寫入CSV文件。數據如下用逗號分隔數據CSV Python
A ,B ,C
a1,a2 ,b1 ,c1
a2,a4 ,b3 ,ct
第一列裏面有逗號。整個數據都列在我想要寫入CSV文件的列表中,並以逗號分隔,並且不會干擾列A中的數據。我該怎麼做?提到delimiter = ','
大體上將其分成四列。
只需使用csv
模塊中的csv.writer
即可。
import csv
data = [['A','B','C']
['a1,a2','b1','c1']
['a2,a4','b3','ct']]
fname = "myfile.csv"
with open(fname,'wb') as f:
writer = csv.writer(f)
for row in data:
writer.writerow(row)
filemode現在應該是''wb'''(你也可以使用'writer.writerows(data)'來避免明確的'for'循環) – 2014-11-24 05:24:28
所以應該,謝謝。也沒有引用它:p – 2014-11-24 05:25:35
如何從csv文件中獲取上述數據列表? – 2014-11-24 05:26:55
無需在第一列使用csv
模塊自「」已經是你的數據的一部分,這將工作:
with open('myfile.csv', 'w') as f:
for row in data:
f.write(', '.join(row))
f.write('\n')
你可以嘗試下面。
代碼:
import csv
import re
with open('infile.csv', 'r') as f:
lst = []
for line in f:
lst.append(re.findall(r',?(\S+)', line))
with open('outfile.csv', 'w', newline='') as w:
writer = csv.writer(w)
for row in lst:
writer.writerow(row)
輸出:
A,B,C
"a1,a2",b1,c1
"a2,a4",b3,ct
你需要什麼'sys'? – vks 2014-11-24 06:04:47
那麼你的實際列表是什麼樣子?每一行都是一個字符串? – 2014-11-24 05:16:36
@DavidMarx是的。它看起來像這樣['A','B','C'] ['a1,a2','b1','c1'] ['a2,a4','b3','ct'] – abn 2014-11-24 05:18:48
@vanandy你的預期輸出是什麼? – 2014-11-24 05:36:44