От листов Excel до OrderedDict - PullRequest
       21

От листов Excel до OrderedDict

0 голосов
/ 16 ноября 2018

У меня есть файл Excel с несколькими листами (скажем, 3) с различной формой и содержанием. Я пытаюсь:

1) загрузите каждый лист openpyxl, так как я хочу видеть формулы.

2) Храните каждый загруженный лист в другом панде DataFrame.

3) Все эти 3 фрейма данных должны быть сохранены в OrderedDict в форме «имя_файла»: DataFrame.

Это код, над которым я работал до сих пор:

from openpyxl import load_workbook
import pandas as pd
import os
from collections import OrderedDict
# Define the path of my file
Base_Dir = ''
File_Read = 'readfile.xlsx'
path_read = os.path.join(Base_Dir, File_Read)
# Load Workbook, store sheet names and number of sheets
wb = load_workbook(filename = path_read)
sheet_names = wb.get_sheet_names()
sheet_number = len(wb.sheetnames)
# Loop that stores every excel sheet in an ordered dictionary in the form 'sheet_name':DataFrame
od = OrderedDict()
for sheet_name, sheet_position in sheet_names, sheet_number:
    name = sheet_names['{}'.format(sheet_position)]
    sheet_ranges = wb[name]
    od['{}'.format(sheet_name)] = pd.DataFrame(sheet_ranges.values)

Но я продолжаю получать эту ошибку:

ValueError: слишком много значений для распаковки (ожидается 2)

У вас есть намеки на это? потому что я чувствую себя застрявшим в данный момент.

Большое спасибо заранее за любую помощь,

...