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

Python读取多分隔符txt/csv文件、剔除索引拆分数据列如何实现

Python实现该文本处理需求的两种方案

方案1:纯Python原生实现(无第三方依赖)

思路:逐行读取文件后先按冒号分割丢弃开头索引段,再通过正则匹配同时按逗号、分号拆分剩余内容,转成浮点型数值即可。

import re

# 存储最终处理后的数据
processed_data = []
with open("你的文件路径.txt", "r", encoding="utf-8") as f:
    for line in f:
        line = line.strip()
        # 跳过空行
        if not line:
            continue
        # 按第一个冒号分割,取后半段数据部分
        data_part = line.split(":", 1)[1]
        # 按逗号或分号拆分所有数值,转成浮点型
        row_values = [float(i) for i in re.split(r"[,;]", data_part)]
        processed_data.append(row_values)

# 查看处理结果
for row in processed_data:
    print(row)

处理后每行对应6个独立的数值列,示例输出:
[0.84722, 0.52855, 0.65268, 0.24792, 0.66525, 0.46562]

方案2:Pandas实现(适合后续需做数据统计分析的场景)

思路:直接利用pandas读取文件时的正则分隔符能力,同时匹配冒号、逗号、分号作为分隔符,读取后直接丢弃第一列索引列即可完成处理。

import pandas as pd

# 读取文件,指定多分隔符匹配规则,无表头
df = pd.read_csv("你的文件路径.txt", sep=r"[:,;]", header=None, engine="python")
# 丢弃第一列的索引字段
df = df.drop(columns=0)
# 可选:自定义列名
df.columns = [f"列_{i+1}" for i in range(df.shape[1])]

print(df)

补充说明

  • 大文件处理优先选原生逐行读取方案,内存占用更低
  • 中小规模数据选Pandas方案更便捷,可直接对接后续的数据清洗、计算逻辑

内容的提问来源于stack exchange,提问作者Cristina Dominguez Fernandez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 08:18:03