📅  最后修改于: 2023-12-03 15:38:46.227000             🧑  作者: Mango
如果你需要批量读取某个目录下的所有 Excel 文件作为 Pandas DataFrame,下面提供两种可行的方法。
首先需要导入 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
的文件。
另一种方法是使用 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。
以上两种方法,你可以根据自己的需求选择一种实现。