使用Python从多个TXT文本文件提取指定数据并写入Excel的实现方法
多TXT文本提取数据导入Excel的Python实现思路
前期准备
- 先确认两个核心前提信息:
- 所有TXT文件的内容格式规则:比如是分隔符分隔(逗号/制表符等)、固定宽度排版、还是有特定关键词标识目标字段
- 目标Excel的填充规则:明确TXT中哪些内容对应Excel的哪一列,以及最终的表头顺序
- 安装所需第三方依赖,直接在终端运行以下命令即可:
pip install pandas openpyxl
其中pandas用于数据读取、清洗和整合,openpyxl用于支持xlsx格式的Excel文件读写。
通用实现步骤
- 第一步:批量获取所有目标TXT文件
用Python内置的os模块遍历存放TXT的文件夹,筛选出所有后缀为.txt的文件待处理,参考代码:import os # 替换为你自己存放TXT文件的文件夹路径 txt_dir = "./txt_files" txt_list = [f for f in os.listdir(txt_dir) if f.lower().endswith(".txt")] - 第二步:逐文件提取指定字段
根据你的TXT格式调整读取逻辑即可:- 若为结构化分隔类TXT:直接用
pandas.read_csv()指定分隔符读取,再筛选需要的列即可 - 若为非结构化TXT:可以用内置的
re正则模块匹配目标内容,或者按行读取后根据关键词定位对应数据
- 若为结构化分隔类TXT:直接用
- 第三步:合并所有提取结果
把每个TXT提取出的同结构数据,逐行追加到同一个列表或者pandas的DataFrame中,保证列顺序和目标Excel表头完全一致。 - 第四步:导出为Excel文件
直接调用pandas的to_excel方法输出即可,参考代码:import pandas as pd # 假设df为已经整理好的全量数据DataFrame,columns参数对应你的Excel表头 df = pd.DataFrame(所有提取数据列表, columns=["列1", "列2", "列3"]) df.to_excel("./导出结果.xlsx", index=False, engine="openpyxl")
调试建议
- 初期先拿1~2个小体积的TXT做单文件测试,确认提取逻辑完全正确、数据匹配无误后,再扩展到批量处理所有文件
- 批量处理时可以加打印语句输出当前处理的文件名和提取到的关键数据,方便定位异常文件的问题
内容的提问来源于stack exchange,提问作者Tim
相关产品推荐
相关产品推荐

