使用逗号CSV Python分隔数据

时间:2014-11-24 05:14:09

标签: python csv delimiter

我有一些需要写入CSV文件的数据。数据如下

A        ,B    ,C
a1,a2    ,b1   ,c1
a2,a4    ,b3   ,ct

第一列里面有逗号。整个数据都在一个列表中,我想写入CSV文件,用逗号分隔,不会打扰A列中的数据。我该怎么做?提及delimiter = ','将其分为四列。

3 个答案:

答案 0 :(得分:2)

只需使用csv.writer模块中的csv

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)

https://docs.python.org/2/library/csv.html#csv.writer

答案 1 :(得分:0)

不需要使用csv模块,因为','在第一列中已经是数据的一部分,这将起作用:

with open('myfile.csv', 'w') as f:
    for row in data:
        f.write(', '.join(row))
        f.write('\n')

答案 2 :(得分:0)

您可以尝试下面的内容。

代码:

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