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

使用pandas读取交替存储序列号与生产日期的txt并导出为xlsx

问题排查

你之前写的代码跑不通是三个硬伤:

  • 读文件的方式错了:你的txt每行只有一个值,要么是序列号要么是日期,根本没有空格分隔的多列,用delimiter=" "读出来只有单列数据,直接取不存在的ProductionDate、SerialNumber列肯定报KeyError
  • 最后导出的对象错了:你拼接处理完存在data变量里,结果导出的还是最开始读的原始df,等于白处理
  • 没有做数据校验,一旦文件里有空行、错行,序列号和日期就会配错
可直接运行的实现代码

先安装依赖:
pip install pandas openpyxl

import pandas as pd

def read_txt_export_to_excel():
    # 逐行读取文件,自动过滤空行、首尾空白字符
    with open("serialnumbers.txt", "r", encoding="utf-8") as f:
        lines = [line.strip() for line in f.readlines() if line.strip()]
    
    serial_numbers = []
    production_dates = []
    # 按步长2遍历,逐组匹配序列号和对应日期
    for i in range(0, len(lines), 2):
        sn = lines[i]
        # 校验X87固定前缀,不符合规则直接跳过避免错配
        if not sn.startswith("X87"):
            continue
        # 边界判断,避免文件末尾缺行触发索引错误
        if i + 1 >= len(lines):
            break
        serial_numbers.append(sn)
        production_dates.append(lines[i+1])
    
    # 组装为DataFrame,使用要求的列名
    output_df = pd.DataFrame({
        "Serialnumbers": serial_numbers,
        "Production Date": production_dates
    })
    
    # 导出时关闭pandas默认生成的行索引
    output_df.to_excel("output.xlsx", index=False)

# 执行函数
read_txt_export_to_excel()
代码说明
  • 自带空行过滤、前缀校验、缺行兼容逻辑,不会因为文件格式小问题出现错配、报错
  • 输出列名完全匹配需求,序列号和生产日期一一对应
  • 导出文件无多余索引列,可直接使用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 15:15:49