我的一个文件夹里有很多文件夹,每个文件夹里还有很多csv文件,我需要讲这些csv文件合并到一个新的文件夹里,请用python实现
时间: 2024-11-17 16:30:40 浏览: 23
你可以使用Python的`os`和`pandas`库来实现这个任务。以下是一个简单的步骤描述:
1. 首先,导入必要的库:
```python
import os
import pandas as pd
```
2. 确定源文件夹路径以及目标新文件夹的路径,如果不存在则创建:
```python
src_folder = '你的源文件夹路径'
dst_folder = '你的目标新文件夹路径'
if not os.path.exists(dst_folder):
os.makedirs(dst_folder)
```
3. 使用递归函数遍历源文件夹下的所有csv文件,读取并合并:
```python
def merge_csv_files(src_dir, dst_file, files_to_merge):
dfs = []
for file in files_to_merge:
df = pd.read_csv(os.path.join(src_dir, file))
dfs.append(df)
merged_df = pd.concat(dfs)
merged_df.to_csv(dst_file, index=False) # 如果不需要索引,则可以去掉index=False
# 获取源文件夹下所有的csv文件名(假设都在同一层)
csv_files = [f for f in os.listdir(src_folder) if f.endswith('.csv')]
# 从列表的第一个元素开始合并,并将结果保存到新文件夹
merge_csv_files(src_folder, os.path.join(dst_folder, 'merged_data.csv'), csv_files)
```
4. 这段代码会将源文件夹内的所有CSV文件合并成一个名为"merged_data.csv"的新文件,并保存到指定的目标文件夹。
阅读全文