Py学习  »  Python

Python批量合并多个txt文件,生成Excel文件

蚂蚁学Python • 1 年前 • 694 次点击  


## 问题

有一个目录,里面也有子目录,放了很多txt文件,格式都一样。

怎样批量读取这些txt文件,合并后输出到Excel文件


## 1、引入依赖的包


import os
import pandas as pd


## 2、定义目录

data_dir = r"D:\workbench\pycommontest"


## 3、定义一个df_list存放每个文件读取后的pandas表

df_list = []


## 4、使用os.walk可以递归扫描所有的txt文件

如果不是.txt文件可以略过

for root, dirs, files in os.walk(data_dir):    for file in files:
# 如果不是.csv文件就略过 if ".txt" not in file: continue print(file)


## 5、可以用pd.read_csv读取txt文件,存入df_list列表

df_list = []for root, dirs, files in os.walk(data_dir):    for file in files:
# 如果不是.csv文件就略过 if ".txt" not in file: continue print(file) file_path = os.path.join(root, file) df = pd.read_csv(file_path) df_list.append(df)


## 6、使用pd.concat可以合并多个pandas表

print(df_list)df_all = pd.concat(df_list)


## 7、将df_all可以直接存入excel文件

df_all.to_excel("结果存储.xlsx", index=False)


## 总结知识:

1、os.walk可以递归扫描目录

2、pd.read_csv可以读取txt文件

3、pd.concat可以合并多个df的list

4、df.to_excel可以保存到excel文件


如果想跟蚂蚁老师学Python,可以咨询微信:ant_learn_python

点击阅读原文,可以查看课程目录

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/162983
 
694 次点击