📜  如何将目录下的所有 excel 文件作为 Pandas DataFrame 读取?(1)

📅  最后修改于: 2023-12-03 15:38:46.227000             🧑  作者: Mango

如何将目录下的所有 Excel 文件作为 Pandas DataFrame 读取?

如果你需要批量读取某个目录下的所有 Excel 文件作为 Pandas DataFrame,下面提供两种可行的方法。

1. 使用 glob 和 Pandas 的 read_excel 方法

首先需要导入 glob 模块和 Pandas 模块,然后使用 glob 模块的 glob 方法获取该目录下所有 Excel 文件的路径,最后通过 Pandas 的 read_excel 方法读取每个 Excel 文件并转化为 DataFrame,最终将每个 DataFrame 存储到一个列表里。

import glob
import pandas as pd

# 获取目录下所有 Excel 文件的路径
path = r'your-directory-path\*.xlsx'
files = glob.glob(path)

# 读取每个 Excel 文件并转换为 DataFrame,存储到一个列表里
data = []
for file in files:
    df = pd.read_excel(file)
    data.append(df)

上述代码中 your-directory-path 应该替换为你需要读取的目录路径,*.xlsx 代表所有后缀为 .xlsx 的文件。

2. 使用 os 和 Pandas 的 read_excel 方法

另一种方法是使用 os 模块和 Pandas 的 read_excel 方法,通过 os 模块的 listdir 方法获取目录下所有文件的文件名,并根据文件名的后缀筛选出 Excel 文件,然后再通过 Pandas 的 read_excel 方法将 Excel 文件转化为 DataFrame 并存储到一个字典里。

import os
import pandas as pd

# 获取目录下所有文件的文件名
path = r'your-directory-path'
files = os.listdir(path)

# 筛选出所有 Excel 文件的文件名,并将其转化为 DataFrame 存储到一个字典里
data = {}
for file in files:
    if file.endswith('.xlsx'):
        df = pd.read_excel(os.path.join(path, file))
        data[file] = df

上述代码中 your-directory-path 应该替换为你需要读取的目录路径,os.path.join 方法用于将目录路径和文件名拼接成完整的文件路径。最终的结果是一个字典,键为 Excel 文件的文件名,值为对应的 DataFrame。

以上两种方法,你可以根据自己的需求选择一种实现。