Python使用pandas读取带双引号分隔符的CSV解析错误如何解决?
CSV读取列拆分异常修复方案
核心问题原因
你当前代码中pd.read_csv的quotechar参数传入了HTML转义字符",Python无法将其识别为双引号字面量,导致pandas不能正确匹配CSV中的双引号作为文本分隔符,进而出现列拆分错误。
修复代码
修改quotechar参数为字面量双引号即可,同时可以补充相关参数适配常见CSV格式规则,优化读取效果:
import os import glob import pandas as pd import csv # 用于指定引号处理规则,可按需引入 path = r'\\Srvflssp03\gto\Planejamento_Operacional\Forecast\2021\11 Novembro\Relatórios MIS' file_list = glob.glob(os.path.join(path, '**/*.csv'), recursive=True) # 核心修改:将quotechar改为双引号字面量,补充引号规则参数 combined_csv = pd.concat([ pd.read_csv( f, quotechar='"', sep=',', quoting=csv.QUOTE_MINIMAL # 适配常规双引号包裹包含逗号的文本的CSV规则 ) for f in file_list ]) # pd.concat返回结果本身就是DataFrame,无需重复转换 combined_csv.head(11)
异常排查补充
如果修改后仍存在拆分异常,可根据实际情况补充以下参数:
- 若CSV中存在转义双引号(如
"内容\"补充内容"格式),添加escapechar='\\'参数 - 若出现编码报错,指定
encoding参数,常见可选值为utf-8、latin-1、cp1252
内容的提问来源于stack exchange,提问作者FABRICIO FERREIRA
相关产品推荐
相关产品推荐

