在Python中的字段内用逗号读取CSV文件

2024-05-14 20:26:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要读取一个CSV文件,该文件中的字段有逗号,因此我对包含逗号的字段进行了双引号,例如:

1, "text1,text2", "text3, text4", a, b, c

但是,当我尝试用Python读取文件时,我会得到用逗号分隔的字段,如下所示:

row[0] = 1
row[1] = text1
row[2] = text2
row[3] = text3
row[4] = text4
row[5] = a
row[6] = b
row[7] = c

我正在使用以下代码读取CSV文件:

info = csv.reader(open('./info.csv'))  
for row in info :
    print row[0] + " * " + row[1] ...

是否可以读取包含逗号的双引号字段?


Tags: 文件csv代码infoopenreaderrow逗号
1条回答
网友
1楼 · 发布于 2024-05-14 20:26:09

Pythoncsv模块实际上支持带引号的字段,即使在默认情况下也是如此。这里的问题是Python默认不跳过空格,因此需要使用skipinitialspace=True

>>> s = StringIO.StringIO('1, "text1,text2", "text3, text4", a, b, c')
>>> list(csv.reader(s, skipinitialspace=True))
[['1', 'text1,text2', 'text3, text4', 'a', 'b', 'c']]

相关问题 更多 >

    热门问题