For Loop - 将所有 excel 选项卡读入 Panda Df

Posted

技术标签:

【中文标题】For Loop - 将所有 excel 选项卡读入 Panda Df【英文标题】:For Loop - Reading in all excel tabs into Panda Df's 【发布时间】:2019-12-31 01:39:52 【问题描述】:

我有一本 .xlsx 的书,我想编写一个函数或循环,为 excel 中的每个选项卡创建 Panda(s) DF。例如,假设我有一本名为 book.xlsx 的 Excel 书和名为 sheet1 - sheet6 的标签。我想读取 excel 文件并从函数或循环创建 6 个 Panda DF (sheet1 - sheet6)?

【问题讨论】:

【参考方案1】:

加载文件:

path = '../files_to_load/my_file.xlsx'
print(path)
excel_file = pd.ExcelFile(path)
print('File uploaded ✔')

获取特定工作表:

# Get a specific sheet
raw_data = excel_file.parse('sheet1')

这里是循环的一个例子:

您会将所有工作表存储在一个列表中。所有的工作表都将是数据框

In [1]:
import pandas as pd

path = 'my_path/my_file.xlsx'
excel_file = pd.ExcelFile(path)

sheets = []
for sheet in excel_file.sheet_names:
    data = excel_file.parse(sheet)
    sheets.append(data)


【讨论】:

【参考方案2】:

您需要将 sheet_name 参数设置为 None - 它会创建存储为数据框的工作表的有序字典。

dataframes = pd.read_excel(file_name, sheet_name=None)

>>> type(dataframes)
<class 'collections.OrderedDict'>
>>> type(dataframes['first']) # `first` is the name a sheet
<class 'pandas.core.frame.DataFrame'>

【讨论】:

以上是关于For Loop - 将所有 excel 选项卡读入 Panda Df的主要内容,如果未能解决你的问题,请参考以下文章

For Loop 在不同的范围内

迭代(for-loop)毫秒访问过去的值

Swift中的Loop for Loop总和

FOR LOOP 脚本未运行

将 JSON 解析为 Excel - LOOP

使用 VBA 将 MS Access 记录集导出到 Excel 中的多个工作表/选项卡会生成只读文件