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

如何用Python Pandas导入无分隔符固定宽度平面文件并转为DataFrame

用Python导入固定宽度无分隔符文件为DataFrame

直接用pandas的read_fwf()方法就能搞定,这是专门处理固定宽度格式文件的工具,比手动切片高效得多,步骤如下:

  1. 定义列的位置和名称
    根据你给出的字段位置,用元组标记每个字段的起始和结束索引(注意:Python是左闭右开规则,比如0-6位的员工编号,对应起始索引0,结束索引7)。示例如下:

    # 定义各字段的起止位置(start, end)
    colspecs = [
        (0, 7),    # 员工编号(0-6位)
        (7, 10),   # 薪酬要素代码(7-9位)
        (25, 33)   # 员工薪资(25-32位)
        # 其他字段按同样格式补充
    ]
    
    # 对应列名
    column_names = [
        '员工编号',
        '薪酬要素代码',
        '员工薪资'
        # 对应其他字段的名称
    ]
    
  2. 读取文件并生成DataFrame
    导入pandas后调用read_fwf(),传入文件路径、列位置和列名即可:

    import pandas as pd
    
    # 读取文件
    df = pd.read_fwf('你的文件路径.txt', colspecs=colspecs, names=column_names)
    
  3. 可选:指定数据类型
    如果需要转换字段类型(比如薪资转为数值型,避免员工编号开头的0被自动省略),可以添加dtype参数:

    dtype_config = {
        '员工薪资': float,
        '员工编号': str
    }
    
    df = pd.read_fwf('你的文件路径.txt', colspecs=colspecs, names=column_names, dtype=dtype_config)
    

如果你的文件有特殊编码,还可以加encoding参数(比如encoding='gbk')适配中文环境。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 18:50:31