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

纯Pandas实现文本文件转DataFrame 能否使用read_csv方法

仅使用Pandas read_csv 实现二进制文本逐位转DataFrame方案

完全可以不依赖Python原生文件读取、列表处理逻辑,仅通过Pandas内置方法实现需求,核心思路是先将每行完整二进制串读取为单列字符串,再通过Pandas内置的字符串拆分方法逐位拆分为多列。

实现代码

import pandas as pd

# 读取文件为单列字符串格式
df = pd.read_csv(
    "data.txt",
    header=None,
    dtype=str,
    sep=r"\Z",
    engine="python"
)

# 逐字符拆分二进制串,得到目标多列结构
df = df[0].str.split(pat="", expand=True).iloc[:, 1:-1]

参数说明

  • header=None:指定文件无表头,避免首行数据被识别为列名
  • dtype=str:强制以字符串类型读取内容,防止数值类型自动丢弃前导0
  • sep=r"\Z" + engine="python":使用行尾正则作为分隔符,保证整行二进制串被完整读取为单列,不会被默认分隔符拆分
  • .str.split(pat="", expand=True):调用Pandas字符串方法,将每个二进制串按单个字符拆分,expand=True参数直接将拆分结果展开为多列结构
  • .iloc[:, 1:-1]:剔除空字符串拆分产生的首尾两列空值,最终得到5列对应5个二进制位的结果

运行上述代码得到的DataFrame结构、值和目标格式完全一致。

如果不限制必须用read_csv,也可以用Pandas内置的固定宽度读取方法pd.read_fwf("data.txt", header=None, widths=[1]*5, dtype=str),不需要额外处理就能直接得到目标结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 10:45:38