Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中读取CSV文件时跳过逗号?_Python_List_Csv_Delimiter_Reader - Fatal编程技术网

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

如何在python中读取CSV文件时跳过逗号?,python,list,csv,delimiter,reader,Python,List,Csv,Delimiter,Reader,我正在使用reader方法读取csv文件的一列。我的一列中包含带逗号的字符串值。但当我使用分隔符作为逗号时,读者将其作为两个不同的值来读取 我的要求是,代码应仅将此列值作为单个字符串读取,而读取器方法应仅将分隔符作为逗号使用 输入: “11”11、“鲍勃·马利,美国”、“ABC” 代码: reader = csv.reader(csv_file, delimiter=',', quotechar="'") output = [] for row in reader: output = l

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

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

输入: “11”11、“鲍勃·马利,美国”、“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=”
,因为输入使用
作为字符串值

编辑1:

如果不转义,则无法在单元格内使用控制字符,因此您的输入需要转义单元格内的每个
。否则它会坏的

以下代码适用于
“11\”11、“美国鲍勃·马利”、“ABC”
,但不适用于
“11”11、“美国鲍勃·马利”、“ABC”


您可能可以将
替换为
\”
替换为。

确定。但是如果我们得到字符串值中的双引号,那么它就不再有效了。这是csv文件中的一个错误,我必须编写一个代码来处理它。在这种情况下,您需要用反斜杠转义那些引号,并将
escapechar='\\'
添加到阅读器的选项中。我更新了我的答案。CSV阅读器将无法按您所希望的方式处理您当前的输入。您必须事先以另一种方式清理输入。
reader = csv.reader(csv_file, delimiter=',', escapechar='\\', quotechar='"')
for row in reader:
    for cell in row:
        print cell