如何用Python将多个txt文件内容合并生成单个Excel文件
批量读取多TXT文件合并导出单个Excel的Python实现
前置依赖安装
glob为Python标准库无需额外安装,仅需安装数据处理和Excel导出相关的第三方库:
pip install pandas openpyxl
实现代码
代码默认适配给出的TXT格式:每行两列内容、以空白字符分隔,支持遍历匹配规则下所有TXT文件自动读取整合,适配100+文件的批量处理场景:
import glob import pandas as pd # 初始化列表存储所有文件的读取结果 all_data = [] # 遍历匹配规则下的所有TXT文件,可根据实际存储路径修改匹配规则 for txt_path in glob.glob("*.txt"): # 读取单个结构化TXT文件 single_df = pd.read_csv( txt_path, sep="\s+", # 兼容单空格、多空格、制表符分隔场景,若为逗号/分号分隔可直接修改为对应符号 header=None, names=["标识", "数值"] # 自定义Excel输出的列名,可按需修改 ) # 可选功能:如果需要标记每行数据的来源文件,放开下方注释即可 # single_df["来源文件名"] = txt_path all_data.append(single_df) # 纵向合并所有文件的数据 merged_df = pd.concat(all_data, ignore_index=True) # 导出为单个Excel文件,index=False表示不导出行号索引 merged_df.to_excel("TXT合并结果.xlsx", index=False, engine="openpyxl")
场景适配提示
- 如果TXT文件统一存放在指定子文件夹,修改
glob.glob()内的匹配规则即可,例如传入"./待处理TXT/*.txt"即可读取待处理TXT文件夹下的所有TXT文件 - 如果TXT存在固定表头、特殊编码等情况,可在
pd.read_csv()中补充encoding、skiprows等参数适配即可 - 导出的Excel文件名、列名均可直接修改对应参数自定义
内容的提问来源于stack exchange,提问作者Ben
相关产品推荐
相关产品推荐

