繁体   English   中英

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

[英]How to skip comma while reading CSV file in python?

我正在使用Reader方法读取一列csv文件。 我的其中一列包含字符串值,其中包含逗号。 但是当我使用定界符作为逗号时,读者会将其读取为两个不同的值。

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

输入 :“ 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”“鲍勃·马利美国”“ ABC”

您的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

您也许可以用正则表达式替换" \\"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM