PDFplumber пропускает самый правый столбец в таблицеPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 PDFplumber пропускает самый правый столбец в таблице

Сообщение Anonymous »

Интересно, есть ли у кого-нибудь подсказки по поводу пропавшего столбца? Я использовал pdfplumber для извлечения данных из таблиц с хорошими результатами, за исключением одного конкретного набора PDF-файлов. Проблема в том, что page.search находит самый правый столбец в таблице, а Extract_table пропускает самый правый столбец. Это в Windows 11.
Вот изображение PDF-файла:
Изображение
Ссылка на PDF-файл в Dropbox:
https://www.dropbox.com/scl/fi/d3cg802h ... 6b2kt&dl=0
Вот изображение страницы с наложенными вертикальными линиями:
Изображение
Вот минимальный код:`
# pdftesting.py
import pdfplumber
import sys

print('pdfplumber version:', pdfplumber.__version__)
print('Python version:', sys.version)
filepath = 'C:/ProgramData/PythonProgs/testing/testdoc.pdf'
fn = pdfplumber.open(filepath)
page = fn.pages[0]

vlines = [26.0, 106.25, 152.25, 251.25, 395.5, 467.25, 539.5, 624.65, 692.5, \
760.15, 818.9811199999999]
imagefile = 'C:/ProgramData/PythonProgs/testing/testdoc.png'
im = page.to_image(resolution=300)
im.draw_vlines(vlines, stroke_width=3)
im.save(imagefile)
lines = page.extract_table(table_settings=\
{"vertical_strategy":"explicit",\
"explicit_vertical_lines":vlines,\
"horizontal_strategy": 'text',\
"snap_tolerance": 5})
for item in lines:
print('line:', item)

print('page width:', page.width)
target = 'inc'
X0 = page.search(target)[0]['x0']
X1 = page.search(target)[0]['x1']
size = page.search(target)[0]['chars'][0]['size']
print('Found:', target, X0, X1, size)
`

Вот результат выполнения кода:
pdfplumber version: 0.11.0
Python: 3.12.0 (tags/v3.12.0:0fb18b0, Oct 2 2023, 13:03:39) [MSC v.1935 64 bit (AMD64)]
line: ['', '', '', 'tne minute, rou', 'naea up to tn', 'e nearest mi', 'nute', '', '']
line: ['UK calls', '', '', '', '', '', '', '', '']
line: ['', '', '', '', '', '', '', '', '']
line: ['Date', 'Time', 'Phone number', 'Destination', 'Duration', 'Charged', 'Included?', 'VAT', 'VAT']
line: ['', '', '', '', 'hh:mm:ss', 'hh:mm:ss', '', 'ex', 'rate']
line: ['', '', '', '', '', '', '', '', '']
line: ['Sun 17 May', '15:55', '07755221961', 'UK mobile', '00:05:26', '00:05:26', 'Yes', '£0.000', '20%']
line: ['', '', '', '', '', '', '', '', '']
line: ['Thu 21 May', '11:15', '07818818242', 'Vodafone mobile', '00:00:07', '00:01:00', 'Yes', '£0.000', '20%']
line: ['', '', '', '', '', '', '', '', '']
line: ['Fri 22 May', '15:44', '05706000459', 'Landline', '00:00:04', '00:01:00', 'Yes', '£0.000', '20%']
line: ['', '', '', '', '', '', '', '', '']
line: ['Mon 25 May', '20:48', '02085462206', 'Landline', '00:15:12', '00:15:12', 'Yes', '£0.000', '20%']
line: ['', '', '', '', '', '', '', '', '']
line: ['Sat 50 May', '10:58', '02056549856', 'Landline', '00:00:08', '00:01:00', 'Yes', '£0.000', '20%']
line: ['', '', '', '', '', '', '', '', '']
line: ['Fri 5 Jun', '09:58', '07818818242', 'Vodafone mobile', '00:00:11', '00:01:00', 'Yes', '£0.000', '20%']
line: ['', '', '', '', '', '', '', '', '']
line: ['Sat 6 Jun', '07:17', '07716065665', 'Vodafone mobile', '00:01:14', '00:01:14', 'Yes', '£0.000', '20%']
line: ['', '', '', '', '', '', '', '', '']
line: ['', '', '', 'Tot', 'al of 7 calls', '23 mins 52 s', '', '£0.000', '']
page width: 856.800048828
Found: inc 761.15 773.9811199999999 9.961000000000013


Подробнее здесь: https://stackoverflow.com/questions/791 ... n-in-table
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • PDFplumber пропускает самый правый столбец в таблице
    Anonymous » » в форуме Python
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • PDFplumber пропускает самый правый столбец в таблице
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • PDFplumber пропускает самый правый столбец в таблице
    Anonymous » » в форуме Python
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • PDFplumber пропускает самый правый столбец в таблице
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • PDFplumber пропускает самый правый столбец в таблице
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»