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

时间:2019-08-26 21:22:02

标签: excel pandas loops import-from-excel

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

2 个答案:

答案 0 :(得分:0)

要加载文件:

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)


答案 1 :(得分:0)

您需要将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'>