You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用单引号作为quotechar调用pd.read_csv触发SyntaxError报错求解

读取含单引号包裹带逗号值的文本文件时quotechar参数报错问题

我需要读取一个结构如下的文本文件(以.txt存储,格式类似csv):

'column A', 'column b', 'column c',
'valueA', 'valueb', 'valuec,d',
'valueA', 'valueb', 'valuecd',
'valueA', 'valueb', 'valuecd',
'valueA', 'valueb', 'valuec,d'

要求读取时忽略valuec,d中的逗号,将该值存入单个列。我知道可以通过quotechar参数实现,但使用单引号时始终触发SyntaxError: incomplete input错误,尝试了三种写法:

第一种:

import pandas as pd

DF = pd.read_csv(r'Myfilepath', sep = ',', quotechar =''') 

第二种:

DF = pd.read_csv(r'Myfilepath', sep = ',', quotechar ='''') 

第三种:

DF = pd.read_csv(r'Myfilepath', sep = ',', quotechar ="'")

请问哪里操作有误?


问题原因与解决方法

三种写法都存在Python字符串语法错误:

  • 第一种写法quotechar ='':前两个单引号会被解析为空字符串,第三个单引号成为未闭合的字符串标记,导致语法不完整。
  • 第二种写法quotechar =''':三个连续单引号是Python多行字符串的起始符号,缺少对应的结束标记,触发语法错误。
  • 第三种写法quotechar ="'":"是HTML的双引号转义字符,Python代码中无法识别,直接写会导致语法错误。

正确的写法有两种:

  1. 用双引号包裹单引号作为参数值:
import pandas as pd

DF = pd.read_csv(r'Myfilepath', sep=',', quotechar="'", skipinitialspace=True)
  1. 用单引号加转义符表示单引号:
DF = pd.read_csv(r'Myfilepath', sep=',', quotechar='\'', skipinitialspace=True)

另外建议加上skipinitialspace=True参数,因为文件中逗号后带有空格,这个参数会自动忽略分隔符后的空格,避免列名和值出现多余的前导空格(比如避免读取到' column A'这种带空格的列名)。

内容的提问来源于stack exchange,提问作者Bending Rodriguez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 01:42:07