如何使用Pandas读取CSV文件并忽略引号之间的逗号
Pandas读取含引号包裹逗号的CSV文件异常解决方案
问题根因
你的CSV中第二行第三列的引用符"前存在分隔符,带来的多余空格,pandas默认不会跳过分隔符后的空格,因此无法识别"是字段包裹符号,导致列分隔逻辑异常,整行数据被归入第一列。
修复方案
调用read_csv时新增skipinitialspace=True参数,该参数会自动忽略分隔符后的空格,让引号可以被正确识别为字段包裹标记。
正确代码如下:
import pandas as pd data = pd.read_csv( 'testfile.csv', sep=',', quotechar='"', skipinitialspace=True, encoding='utf-8' )
验证结果
运行后读取的DataFrame结构完全符合预期:
| column1 | column2 | column3 |
|---|---|---|
| a | b | c |
| a | b | c, d |
如果调整后仍存在解析异常,可以检查CSV文件的行尾换行符是否为跨系统的异常格式,尝试新增参数lineterminator='\n'即可修复。
内容的提问来源于stack exchange,提问作者Ferapont
相关产品推荐
相关产品推荐

