用逗号分隔数据CSV Python
我有一些数据需要写入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