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

使用Pandas读取含多分隔符(;和:)且列数可变的文件问题

解决pandas读取多分隔符(;和:)且列数不一的文件问题

你之前的代码没正确拆分:分隔的内容,核心问题是字符串转义导致正则表达式失效。直接用下面的写法就能解决:

import pandas as pd

PATH = "你的文件路径"
# 用原始字符串定义正则,匹配;、:和任意空白字符
df = pd.read_csv(
    PATH,
    sep=r';|:|\s+',
    engine='python',
    header=None,
    skip_blank_lines=True
)

关键说明:

  • 用原始字符串r""包裹正则表达式,避免Python转义干扰,确保;和:都能被正确匹配。
  • 设置header=None:因为你的文件没有统一表头,且每行列数不同,这样pandas会自动按最大列数对齐,缺失列填充NaN。
  • skip_blank_lines=True:跳过文件中的空行,避免读取无效数据。

用你的样本数据测试,第一行会被拆分成10列,包含S、540356274820466、0、NS、2.077867e+01、5、1.23552等所有拆分后的字段,完全符合预期。

如果还是有异常,检查下文件里的:是不是全角字符(:),如果是,把正则里的:改成:即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 20:05:43