У меня есть несколько листов, которые идентичны по заголовкам столбцов, но не по количеству строк. Я хочу объединить листы в один мастер-лист.
На данный момент это код, который я получаю, для которого выходные данные пустые, и я получаю data = к тому, что на последнем листе.
Я решил использовать цикл for, повторенный через data_sheetnames, который представляет собой список.
Ниже приведен код, который я использовал
combineddata = pd.DataFrame()
for club in data_sheetnames:
data = pd.read_excel(r'''C:\Users\me\Desktop\Data.xlsx''', header = 1, index_col = 2, sheet_name = club)
combineddata.append(data)
Если бы мне пришлось заменить объединенные данные на пустой список, я бы получил словарь фреймов данных.






Решение в том, что append не работает. Он возвращает добавленный DataFrame. Следовательно
combineddata = pd.DataFrame()
for club in data_sheetnames:
data = pd.read_excel(r'''C:\Users\me\Desktop\Data.xlsx''', header = 1, index_col = 2, sheet_name = club)
combineddata = combineddata.append(data)
должен решить проблему
Спасибо, запрос решил. Я могу принять только через 5 минут.
Более простой способ - сделать это:
combined_data = pd.concat([pd.read_excel(sheet_name) for sheet_name in data_sheetnames])
Возможный дубликат Pandas / Python: как объединить два фрейма данных без дубликатов?