python将文件夹下多个txt数据写入excel
时间: 2023-08-12 09:17:54 浏览: 49
可以使用Python中的os和pandas库来将文件夹下的多个txt文件数据写入Excel文件中。
首先,需要使用os库中的listdir函数获取文件夹下所有的txt文件,如下所示:
```
import os
folder_path = 'folder_path'
txt_files = [f for f in os.listdir(folder_path) if f.endswith('.txt')]
```
上述代码中,folder_path是文件夹的路径,通过listdir函数获取文件夹下所有的文件名,然后使用列表推导式过滤出所有以'.txt'结尾的文件。
接下来,需要将每个txt文件读取为一个pandas的DataFrame对象,并将这些对象合并成一个DataFrame对象。可以使用pandas的concat函数来实现,如下所示:
```
import pandas as pd
df_list = []
for txt_file in txt_files:
df = pd.read_csv(os.path.join(folder_path, txt_file), delimiter='\t')
df_list.append(df)
df = pd.concat(df_list, ignore_index=True)
```
上述代码中,首先定义了一个空的DataFrame对象列表df_list,然后使用for循环遍历所有的txt文件,将每个文件读取为一个DataFrame对象,并将这些对象添加到df_list中。最后,使用concat函数将df_list中的所有DataFrame对象合并成一个DataFrame对象。
最后,将合并后的DataFrame对象写入Excel文件,可以使用pandas的to_excel函数,如下所示:
```
df.to_excel('output.xlsx', index=False)
```
上述代码中,to_excel函数的第一个参数是输出文件的路径,第二个参数index指定了是否输出行索引。
完整代码示例:
```
import os
import pandas as pd
# 获取txt文件列表
folder_path = 'folder_path'
txt_files = [f for f in os.listdir(folder_path) if f.endswith('.txt')]
# 读取文本数据并合并
df_list = []
for txt_file in txt_files:
df = pd.read_csv(os.path.join(folder_path, txt_file), delimiter='\t')
df_list.append(df)
df = pd.concat(df_list, ignore_index=True)
# 写入Excel文件
df.to_excel('output.xlsx', index=False)
```