Использование Python и Tabula для чтения таблицы данных со строкой и int

#python #pdf #tabula

#python #PDF #tabula

Вопрос:

У меня есть очень простой PDF-файл, который содержит только электронную таблицу со столбцами и данными. код работает нормально, пока электронная таблица не будет содержать как числа, так и строки.

приведенный ниже пример ошибки:

 Game                 Unnamed:0          Rating        Players
Final Fantasy VII    nan                Teen          1
Ganbare Goemon       nan                Everyone      2
nan                  13                 Mature        1
  

Как я могу использовать tabula для чтения столбцов в виде строк, устраняя проблему разделения столбцов tabula как с числами, так и со строками на 2 отдельных столбца?

код:

 pdf_files = 'mypdf.pdf'
df_list = tabula.read_pdf(pdf_files, pages='all',guess = False)

data_sheets = pd.DataFrame()
for idx, data in enumerate(df_list):
        if idx == 0:
            data_sheets = data_sheets.append(data)
            headers = data.columns
        else:
            data = data.T.reset_index().T.reset_index(drop=True)  
            data.columns = headers
  

Ответ №1:

Tabula не пытается определять типы данных. Неточности в определении макета не вызваны типами данных.

Вы можете попробовать указать горизонтальные координаты границ столбцов. Этот параметр отображается в tabula-py в columns= ключевом аргументе read_pdf метода.