Python Как преобразовать коллекции. OrdderedDict в dataFrame - PullRequest
1 голос
/ 02 марта 2020

У меня есть следующая задача: 1) У меня есть файл Excel с несколькими таблицами. Из этих таблиц мне нужна информация из столбцов "A: CU", строки 41 - 51 2) Затем мне нужно собрать информацию из столбцов "A: CU", строки 41 - 51 из всех электронных таблиц (они имеют одинаковую структуру) и создать базу данных. 3) Должен быть столбец, в котором указано, из какой таблицы были собраны данные

. Я сделал следующее:

import pandas as pd
file='January2020.xlsx'
#getting info from spreadsheets C(1), C(2) and so on
days = range(1,32)
sheets = []
for day in days:
    sheets.append('C(' + str(day)+')')
#importing data
all_sales=pd.read_excel(file,header=None,skiprows=41, usecols="A:CU", sheet_name=sheets,
                skipfooter=10)

Теперь у меня есть collection.OrderedDict и я пытаюсь поместить его в dataFrame.

enter image description here

Мне нужен такой кадр данных: enter image description here

Ответы [ 2 ]

1 голос
/ 02 марта 2020

Попробуйте pd.concat

df = pd.concat(all_sales, ignore_index = True) 
0 голосов
/ 03 марта 2020

Я использовал этот код, и он работал:

file='January2020.xlsx'
days = range(1,32)
all_sales=pd.DataFrame()
df = pd.DataFrame()
all_df = []
for day in days:
    sheet_name = "C("+str(day)+")"
    all_sales=pd.read_excel(file,header=None,skiprows=41,usecols="A:CU", sheet_name=sheet_name,
                skipfooter=10)
    all_sales["Date"] = sheet_name
    all_df.append(all_sales)
df_final = pd.concat(all_df)

...