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

如何用Python将XLSX数据按指定格式导出为TXT文件?

问题分析与解决方案

问题原因

你的代码错误地将每一列拆分为独立列表,通过嵌套循环反复覆盖变量值,最终每条记录都只输出各列表的最后一个元素,而非对应行的匹配数据。此外,代码中定义了带字段名的变量(如txt_name)但未实际使用,导致输出缺少要求的字段标签。

修正后的代码

import pandas as pd

with open("waffles.txt", "w") as file:
    # 读取XLSX文件到DataFrame
    df = pd.read_excel('finals.xlsx')
    
    # 可选:将XLSX转为CSV(若需保留CSV文件)
    # df.to_csv('finals.csv', index=False)
    # 若使用CSV处理,替换上方read_excel为read_csv
    # df = pd.read_csv('finals.csv')
    
    # 遍历DataFrame的每一行
    for idx, row in df.iterrows():
        # 写入记录开头标记
        file.write("*****NEW RECORD*****" + "\n")
        # 按格式写入字段名与对应值
        file.write(f"Name : {row['Name']}" + "\n")
        file.write(f"Number : {row['Number']}" + "\n")
        file.write(f"Branch Manager : {row['Branch Manager']}" + "\n")
        # 写入记录结尾标记
        file.write("*****RECORD END*****" + "\n")
        # 记录间添加空行(最后一条记录后不添加)
        if idx != len(df) - 1:
            file.write("\n")

关键改进点

  • 直接遍历行数据:使用iterrows()遍历DataFrame的每一行,确保同一行的字段值始终匹配。
  • 正确输出字段标签:通过f-string格式化输出,包含要求的字段名(如Name : )。
  • 移除冗余操作:pd.read_excel直接返回DataFrame,无需额外用pd.DataFrame()包装。
  • 优化空行处理:仅在记录之间添加空行,避免文件末尾出现多余空行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 15:02:34