Я пытаюсь загрузить несколько (сотни) электронных таблиц в один фрейм данных.Проблема в том, что эти таблицы расположены в разных папках / путях.Я надеюсь перебрать центральную электронную таблицу, в которой перечислены все конкретные пути (каждая электронная таблица содержит вкладку «Тест», которую я надеюсь использовать, эта вкладка имеет одинаковую структуру / структуру для всех электронных таблиц), но у меня возникают некоторые проблемы.
Ниже я перечислил все, что могло бы быть полезным, любая оценка будет принята с благодарностью!
Существующие проблемы с кодом :
- Iполучить TypeError: невозможно объединить объект класса типа numpy.ndarray, специфичный для строки, в которой я использую concat (df.values) ниже
- Я хотел бы добавить столбец, в котором перечисляется значение «Идентификатор» для каждогоэлектронная таблица в агрегированном фрейме данных (чтобы впоследствии я мог группировать данные по конкретной компании)
Текущий код :
df_0 = pd.read_excel(r'PATH TO CENTRAL SPREADSHEET')
list_of_paths = df_0['Path'].tolist()
all_data = pd.DataFrame()
for itr in range(len(list_of_paths)):
df = pd.read_excel(list_of_paths[itr], sheet_name="Test", ignore_index=True)
cdf = pd.concat(df.values)
all_data = all_data.append(cdf,ignore_index=True)
Центральная электронная таблица :
Identifier Path
AAPL PATH TO UNDERLYING AAPL FILE
GOOG PATH TO UNDERLYING GOOG FILE
Пример базового файла (вкладка «Тест») Структура
Metric 2018 2017
Revenue 2mm 3mm
Expense 1mm 2mm
Требуемый вывод
Metric Ticker 2018 2017
Revenue AAPL 2mm 3mm
Revenue GOOG 5mm 8mm
Expense AAPL 1mm 2mm
Expense GOOG 4mm 6mm