在python中读取CSV文件时如何跳过逗号?

我正在使用阅读器方法读取一列 csv 文件。我的一列包含带有逗号的字符串值。但是当我使用分隔符作为逗号时,读者将它读为两个不同的值。


我的要求是,代码应仅将此列值作为单个字符串读取,而 reader 方法应仅将分隔符用作逗号。


输入: "11"11","Bob Marley, USA","ABC"


代码:


reader = csv.reader(csv_file, delimiter=',', quotechar="'")

output = []

for row in reader:

    output = list(row)

    for each in output:

        print(each) 

输出:


"11"11"

"Bob Marley

 USA"

"ABC"

期望输出: “1111”“Bob Marley USA”“ABC”


慕标5832272
浏览 443回答 1
1回答

DIEA

您quotechar="'"应该是quotechar='"',因为输入"用于字符串值。编辑1:您不能在不转义的情况下在单元格内使用控制字符,因此您的输入需要对"单元格内的每个字符进行转义。否则会断。以下代码适用于"11\"11","Bob Marley, USA","ABC",但不适用于"11"11","Bob Marley, USA","ABC":reader = csv.reader(csv_file, delimiter=',', escapechar='\\', quotechar='"')for row in reader:    for cell in row:        print cell您或许可以将"with替换\"为正则表达式。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python