## 问题
有一个目录,里面也有子目录,放了很多txt文件,格式都一样。
怎样批量读取这些txt文件,合并后输出到Excel文件
## 1、引入依赖的包
import os
import pandas as pd
## 2、定义目录
data_dir = r"D:\workbench\pycommontest"
## 3、定义一个df_list存放每个文件读取后的pandas表
## 4、使用os.walk可以递归扫描所有的txt文件
如果不是.txt文件可以略过
for root, dirs, files in os.walk(data_dir):
for file in files:
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:
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
点击阅读原文,可以查看课程目录