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

带多空格分隔的TXT转Excel时列名异常问题求助

解决Pandas读取空格分隔TXT生成多余Unnamed列的问题

问题场景

你的TXT文件格式如下:

Data : .txt format 

ID     FULL NAME                  SECURITY NUMBER
1234   ALEXANDER XAVIER ROBEN    A.B. HAPPY123 
3456   MOHAMMED ALI ZAFAR        B.8 GHDF67

用原有Pandas代码读取时,会生成大量Unnamed列,输出完全不符合预期:

ID   Unanamed1   Unanamed2 Unanamed3 FULL     NAME   Unanamed4  Unnamed5  SECURITY   NUMBER
1234  ALEXANDER   XAVIER     ROBEN                    A.B.HAPPY   123 
3456  MOHAMMED    ALI        ZAFAR                    B.8         GHDF67

期望得到的Excel格式是保留原始列名和对应数据:

ID     FULL NAME                 SECURITY NUMBER
1234   ALEXANDER XAVIER ROBEN    A.B.HAPPY123 
3456   MOHAMMED ALI ZAFAR        B.8 GHDF67

错误原因

原有代码用delimiter=' '指定单空格作为分隔符,但你的TXT是多连续空格分隔列,且列名本身包含空格(比如FULL NAME),Pandas会把每个单空格都当成分隔符,导致列名和数据被错误拆分,生成大量Unnamed列。

解决方案

  1. 使用sep='\s+'匹配任意数量的连续空白字符(空格、制表符等)作为分隔符,避免拆分列名里的单个空格
  2. 用skiprows=1跳过TXT开头的Data : .txt format 注释行
  3. 保留原始列名,不需要做连字符拼接操作

正确代码示例

import pandas as pd

# 读取TXT文件,处理多空格分隔和跳过注释行
df = pd.read_csv('ConsRelLab19072023 (1).txt', sep='\s+', skiprows=1)

# 直接保存为Excel
df.to_excel('output.xlsx', index=False)

验证结果

运行上述代码后,Excel会正确生成三列:ID、FULL NAME、SECURITY NUMBER,数据对应完全符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 15:07:13