从多个文件夹读取到单个Dataframe可以通过以下步骤实现:
- 导入所需的库:import os
import pandas as pd
- 定义一个函数来读取文件夹中的所有文件并将它们合并为一个Dataframe:def read_files(folder_path):
files = os.listdir(folder_path) # 获取文件夹中的所有文件
df_list = [] # 存储每个文件的Dataframe
for file in files:
file_path = os.path.join(folder_path, file) # 构建文件路径
if os.path.isfile(file_path): # 确保路径指向一个文件而不是文件夹
df = pd.read_csv(file_path) # 读取文件内容为Dataframe
df_list.append(df) # 将Dataframe添加到列表中
merged_df = pd.concat(df_list, ignore_index=True) # 合并所有Dataframe为一个
return merged_df
- 调用函数并传入包含多个文件夹路径的列表,将它们合并为一个Dataframe:folder_paths = ['folder1', 'folder2', 'folder3'] # 包含多个文件夹路径的列表
merged_df = pd.DataFrame() # 创建一个空的Dataframe用于存储合并结果
for folder_path in folder_paths:
df = read_files(folder_path) # 读取文件夹中的所有文件并合并为一个Dataframe
merged_df = merged_df.append(df, ignore_index=True) # 将当前Dataframe添加到合并结果中
这样,你就可以从多个文件夹中读取文件并将它们合并为一个单独的Dataframe了。
注意:以上代码假设文件夹中的文件都是以CSV格式存储的,如果文件格式不同,需要相应地修改读取文件的代码。另外,如果文件夹中的文件非常大,可能需要考虑分批读取和合并,以避免内存溢出的问题。