社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

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


## 问题

有一个目录,里面也有子目录,放了很多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
 
581 次点击