Python写一个抓取路径下对个子文件夹中子文件的txt文件合并成一个excel
时间: 2023-05-27 16:02:26 浏览: 116
Python文件操作(课件)
5星 · 资源好评率100%
以下是Python代码,可以实现抓取指定路径下的多个子文件夹中的所有txt文件,并将其合并为一个Excel文件:
```python
import os
import glob
import pandas as pd
# 定义要合并的文件夹路径
folder_path = r"C:\Users\username\path_to_folder"
# 定义要抓取的文件类型,例如txt文件
file_type = '*.txt'
# 获取所有子文件夹路径
sub_folder_paths = glob.glob(os.path.join(folder_path, "*"))
# 定义一个空的DataFrame
result_df = pd.DataFrame()
# 循环遍历所有子文件夹
for sub_folder_path in sub_folder_paths:
# 获取当前子文件夹下所有txt文件路径
txt_file_paths = glob.glob(os.path.join(sub_folder_path, file_type))
# 循环遍历所有txt文件
for txt_file_path in txt_file_paths:
# 读取txt文件内容并添加到DataFrame中
txt_df = pd.read_csv(txt_file_path, sep='\t', header=None) # 这里以制表符分隔符为例
result_df = result_df.append(txt_df)
# 将合并后的结果保存为Excel文件
result_df.to_excel(os.path.join(folder_path, 'result.xlsx'), index=False)
```
代码说明:
1. 定义要合并的文件夹路径和文件类型,例如上面定义的路径为"C:\Users\username\path_to_folder",文件类型为"*.txt",表示要抓取该路径下所有子文件夹中的txt文件。
2. 使用glob模块获取所有子文件夹路径,保存到列表sub_folder_paths中。
3. 定义一个空的DataFrame,用于保存所有txt文件内容。
4. 循环遍历所有子文件夹,获取每个子文件夹下所有txt文件路径,保存到列表txt_file_paths中,然后使用循环遍历所有txt文件,读取每个txt文件内容到DataFrame中。
5. 将合并后的结果保存为Excel文件,使用pandas的to_excel方法实现,保存的文件名为result.xlsx,保存路径为指定的文件夹路径。
阅读全文