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



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

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

输入:"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">

您的quotechar="'"应该是quotechar='"',因为输入使用"作为String值。

编辑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

您可以将"替换为具有正则表达式的"

相关内容

  • 没有找到相关文章

最新更新