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

pandas read_csv指定python引擎时列合并丢失如何解决?

问题解决方案

你遇到的异常是Python解析引擎的分隔符匹配逻辑和C引擎不同导致的,默认不会自动忽略字段分隔符前后的空白字符,多余的空格会导致分隔符识别失败,所有字段被合并为单列。
修改方案如下:

  • 新增skipinitialspace=True参数,开启后会自动忽略分隔符后的前置空格,对齐C引擎的解析行为
  • 若你需要保留CSV自带的表头,删除names=self.columns参数即可,手动传入列名会覆盖原表头;若你确实需要自定义列名,需确保skiprows参数已经跳过了原始表头行
  • 可以将delimiter参数替换为sep=r'\s*,\s*',通过正则匹配分隔符前后的任意空白,彻底解决空白字符导致的分隔异常

修改后的调用代码示例:

pd.read_csv(self.src_file
        ,skiprows = self.skip_header
        ,engine = 'python' if self.skip_footer >0 else 'c'
        ,sep = r'\s*,\s*'
        ,skipinitialspace = True
        ,skipfooter = self.skip_footer
        ,**kwargs)

如果需要自定义列名,可以在读取完成后通过df.columns = 自定义列名列表的方式设置,避免读取阶段的参数冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 09:45:01