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

如何用Python脚本批量将Excel数据转为指定格式TXT文件

Python脚本:批量从Excel提取数据生成指定格式TXT文件

前置准备

先安装所需依赖库,打开命令提示符(Windows)或终端(Mac/Linux),运行:

pip install pandas openpyxl

完整脚本

import pandas as pd
import glob
import os

# 请修改为你的Excel文件所在文件夹路径
excel_folder = "path/to/your/excel/files"

# 匹配文件夹内所有Excel文件(支持.xlsx和.xls)
excel_files = glob.glob(os.path.join(excel_folder, "*.xlsx")) + glob.glob(os.path.join(excel_folder, "*.xls"))

for file_path in excel_files:
    try:
        # 读取Excel文件,不将第一行设为表头(确保行号对应Excel原生行)
        df = pd.read_excel(file_path, header=None)
        
        # 提取指定位置的数据:Excel第2行(索引1)、第7/8/9列(索引6/7/8)
        center_x = df.iloc[1, 6]
        center_y = df.iloc[1, 7]
        center_z = df.iloc[1, 8]
        
        # 固定参数
        size_x = size_y = size_z = 60
        energy_range = 10
        
        # 生成TXT内容
        txt_content = f"""center_x: {center_x}
center_y: {center_y}
center_z: {center_z}
size_x: {size_x}
size_y: {size_y}
size_z: {size_z}
energy_range: {energy_range}"""
        
        # 生成TXT文件名(和原Excel同名,替换后缀为txt)
        txt_file_path = os.path.splitext(file_path)[0] + ".txt"
        
        # 写入TXT文件
        with open(txt_file_path, "w", encoding="utf-8") as f:
            f.write(txt_content)
            
        print(f"已处理文件:{os.path.basename(file_path)} → {os.path.basename(txt_file_path)}")
        
    except Exception as e:
        print(f"处理文件 {os.path.basename(file_path)} 时出错:{str(e)}")

print("所有文件处理完成!")

使用说明

  1. 将脚本中的excel_folder = "path/to/your/excel/files"替换为你的Excel文件实际所在文件夹路径(Windows路径可以用双斜杠\\或单斜杠/,比如"C:\\Users\\YourName\\Documents\\ExcelFiles")。
  2. 保存脚本为excel_to_txt.py。
  3. 在命令提示符/终端中进入脚本所在文件夹,运行:
python excel_to_txt.py

注意事项

  • 确保所有Excel文件的格式一致:第2行、第7-9列确实存在你需要的数据,否则脚本会报错并跳过该文件。
  • 如果你的Excel文件是旧版.xls格式,脚本也能兼容,但需要确保openpyxl已正确安装。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 10:18:31