Итерация по столбцам на каждом листе книги excel

Есть книга эксель, в примере - синтетически единые данные и урезаны по кол-ву листов, в оригинале их 900!

Моя задача: объединить эти листы в одну таблицу
(подставив одну таблицу под другой).

Проблема: данные не одинаковы, и значения некоторых столбцов уехали в столбец без заголовка.

Подскажите, пожалуйста, как пройтись по листам книги и заменить пропуски в нужном столбце, удалив лишний и затем объединить все таблицы?

вот мой код:

# Загружаем файл в переменную `file`
file = r'C:\Users\julij\OneDrive\Рабочий стол\Книга11-копия.xlsx'

# Загружаем spreadsheet в объект pandas
xl_file_obj = pd.ExcelFile(file)

for sheet_name in xl_file_obj.sheet_names:
    data = pd.read_excel(xl_file_obj, sheet_name=sheet_name) # Прочитать листы книги
    for column in data.columns:
        if column == 'Unnamed: 10':
            data['10']=data['10'].fillna('Unnamed: 10')
        elif column == 'Unnamed: 12':
            data['12']=data['12'].fillna('Unnamed: 12')
            break

Ответы (1 шт):

Автор решения: AnnaBazueva

Вы неправильно понимаете, как присваиваются имена неименованным столбцам.

Ваш код ничего не делает.
Я добавила одну строчку...

for sheet_name in xl_file_obj.sheet_names:
    data = pd.read_excel(xl_file_obj, sheet_name=sheet_name) # Прочитать листы книги
    print(f'Sheet: {sheet_name}\nColumns: {data.columns}\n')
    for column in data.columns:
        if column == 'Unnamed: 10':
            data['10']=data['10'].fillna('Unnamed: 10')
        elif column == 'Unnamed: 12':
            data['12']=data['12'].fillna('Unnamed: 12')
            break

... проанализируйте вывод:

Sheet: Sheet1
Columns: Index([1, 2, 3, 4, 10, 'Unnamed: 5', 11, 12, 13, 14, 15], dtype='object')

Sheet: Sheet1 (2)
Columns: Index([1, 2, 3, 4, 10, 'Unnamed: 5', 11, 12, 'Unnamed: 8', 13, 14, 15], dtype='object')

Sheet: Sheet1 (3)
Columns: Index([1, 2, 3, 4, 10, 'Unnamed: 5', 11, 12, 13, 14, 15], dtype='object')
→ Ссылка