Я пытаюсь прочитать PDF-файл, чтобы преобразовать данные таблицы в CSV-файл. У меня есть PDF-документ, содержащий таблицу, которая переносится со страницы 1 на страницу 2.
Хотя используется функцияtabula.wrapper.pdf_read (), если я использовал предположить = Истина, то вывод совместим с pandas, но не будет читать все данные на странице 1 и никаких данных со страницы 2. В качестве альтернативы, если я использую догадку = Ложь, код будет собирать /вывод всех данных со страниц 1 и 2, но не совместимых с пандами.использование электронных таблиц = True и nospreadsheet = False также не помогают
Код
import PyPDF2
import pandas as pd
from io import StringIO
import tabula
from tabula import wrapper
import os
import shutil
from io import StringIO
def pdf_read(pdf_path):
pdf = PyPDF2.PdfFileReader(pdf_path)
no_pages = pdf.getNumPages()
data = wrapper.read_pdf(pdf_path, multiple_tables=True, pages="1-2", guess=False)
print(data)
x = data
return(x)
def archive_pdf(current_path, name):
x = len(name) + 4
new_path = current_path[:-x] +"Archive/" + name + ".pdf"
shutil.move(current_path, new_path)
def pdf_page_read_test_v2(folder_path, name):
pdf_path = folder_path + "/" + name + ".pdf"
csv_path = folder_path + "/" + name + ".csv"
data = pdf_read(pdf_path)
data2 = pd.DataFrame(data)
export_excel = data2.to_csv(csv_path, index = None, header=True)
#archive_pdf(pdf_path, name)
Ввод для вывода
Ввод в формате PDF:
**00|01|02|03|04**
**01**|x1|y1|z1|w1
**02**|a1|b1|c1|d1
**03**|x2|y2|z2|w2
**04**|a2|b2|c2|d2
**05**|x3|y3|z3|w3
**06**|a3|b3|c3|d3
Пример вывода (предположения = true):
**00|01|02|03|04**
**01**|x1|y1|z1|w1
**02**|a1|b1|c1|d1
**03**|x2|y2|z2|w2
**04**|a2|b2|c2|d2
Пример вывода (предположения = false):
00 01 02 03 04 01 x1 y1 z1 w1 02 a1 b1 c1 d1 03 x2 y2 z2 w2 04 a2 b2 c2 d2 05 x3 y3 z3 w3 06 a3 b3 c3 d3