Неправильное чтение pdf файла python

Пишу код, который читает pdf файл и переводит его в DataFrame.

table = tabula.read_pdf(pdf_schedule, pages='all', multiple_tables=True, lattice=True)

Проблема в том, что в файле, который я передаю, иногда у первого элемента слева нет стороны, из-за чего в table там вместо данных этой ячейки NaN. Что делать?
вот весь код

columns = table[0].columns
# Создание списка строк
rows_list = []
for t in table:
    for _, row in t.iterrows():
        rows_list.append(row)
# Создание DataFrame из списка строк с явным указанием столбцов
df = pd.DataFrame(rows_list, columns=columns)

вот скрин примера неправильного первого элемента строки таблицы

введите сюда описание изображения


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

Автор решения: Сергей Кох

Используя tabula я не смог добиться достойного воспроизведения вашей таблицы, из предыдущего уже удаленного вопроса. Но с легкостью она прочиталась с помощью PyMuPDF. В прошлом году они добавили средства распознавания и извлечения таблиц. Об этом можно почитать здесь. Сначала, конечно, pip install pymupdf.

import fitz  # import package PyMuPDF


doc = fitz.open("table.pdf")

page_1 = doc[0]  # this is the first page
tab = page_1.find_tables()[0]

df = tab.to_pandas()
print(df.to_string())

--------------------------------

                                   Преподаватели      1 пара\n08:30-10:00 2 пара\n1 0 :10-11:40 3 п а ра\n1 2 :20-13:50 4 п а р а\n14:00-15:30 5 п а р а\n15:50-17:20 6 п а р а\n17:30-19:00 7 п ара\n19:10-20:40
0                      Абз****** Ришат **********     3ИСИП-621\n3ИСИП-821  3ИСИП-621\n3ИСИП-821   3 ИСИП-621\n3ИСИП-821              3ИСИП-821                                                                   
1                                           ауд.                      102                   102                     102                    102                                                                   
2                     Аз****** Вера ************              2ОИБАС-1022             1ИСИП-923              1ИСИП-1023                                                                                          
3                                           ауд.  202а кл. час / акт зал.                  202а                    202а                                                                                          
4                     Ак**** Владимир **********                                    1ОИБАС-1323             1ОИБАС-1423              1ИСИП-523              1ИСИП-623                                            
5                                           ауд.                                            308                     308                    308                    308                                           
.............................
.............................

75                                          ауд.                      ДОТ                   ДОТ                     ДОТ                    ДОТ                    ДОТ                    ДОТ                     
76                Ра******* Наталья ************                1ИСИП-323             1ИСИП-523               1ИСИП-523              1ИСИП-923            1ОИБАС-1223                          

Со второй страницей, я думаю, вы справитесь самостоятельно. Фамилии спрятал, чтоб никого не смущать.

→ Ссылка