Парсинг текстових PDF з таблицями
Необхідно парсити текстові PDF з таблицями і створити динамічний об'єкт з усіма даними, що є в документі. Таблиці можуть бути різні за кількістю записів, це потрібно враховувати. Також таблиці можуть бути як на початку документа, так і в кінці, однак, вони знаходяться без проблем по "опорним" написам.
В ньому знаходиться 2 основні таблиці, які можна "склеїти" в одну, а потім для кожної записи з цієї таблиці - по таблиці детальної інформації трохи нижче після основних таблиць. Перша таблиця ECU SUMMARY INFO і друга таблиця ECU SUMMARY INFO (CONT...). Потім після таблиць йде ECU DETAILS, це вже більш детальні таблиці кожного ECU, так звані параметри формату NAME=VALUE.
По хорошому, щоб я міг потім з цими даними працювати через Python
Заздалегідь дякую
Додатки 1
-
1 день6041 UAH1 день6041 UAH
Добрий день. Вже обговорювали з Вами цей проєкт. Готовий виконати. Буду радий співпраці
Буду радий співпраці! -
3 дні6041 UAH
100 3 дні6041 UAHПривіт Артем, можу допомогти вам у вашому завданні з виведенням даних у потрібному форматі для подальшої обробки. Буду чекати вашого повідомлення.
-
2 дні6041 UAH
571 6 1 1 2 дні6041 UAHДоброго дня, Артеме. Є готове рішення з веб-інтерфейсом, що дозволяє завантажити таблиці у форматі pdf та спарсити їх. Програма відмінно працює на вашому прикладі, після парсингу з даними можна зручно працювати на Python
-
4 дні6041 UAH
180 4 дні6041 UAHДобрий день!
Переглянула ваш зразок PDF. Пропоную такий підхід:
Екстракція таблиць
Основний інструмент: pdfplumber (стабільний текстовий витяг).
Фallback для складних сіток: camelot/tabula-py у режимі lattice/stream.
… Автоматичний пошук маркерів секцій: “ECU SUMMARY INFO”, “ECU DETAILS” (працює на різних сторінках/позиціях).
Нормалізація
Об’єднання розбитих рядків, прибирання переносів та зайвих пробілів.
Коректне злиття багаторядкових осередків і стовпців.
Вирівнювання назв параметрів NAME=VALUE у ECU DETAILS.
Єдина модель даних
{
"vin": "...",
"publication_date": "...",
"summary": [
{"ecu":"ABS","name":"Anti Lock Brakes","bus_type":"CAN-CH", "flash_part":"...", "current_vin":"...", "original_vin":"...", "part":"..."},
...
],
"details": [
{"ecu":"ABS","params":{"Param1":"Value1","Param2":"Value2", ...}},
...
]
}
Експорт у CSV/Excel (окремі аркуші Summary / Details) та/або SQLite.
Контроль якості
Валідації (обов’язкові колонки, кількість рядків, унікальні ECU).
Логи й невеликі unit-тести, щоб легко підтримувати процес.
Результат: відтворюваний скрипт + інструкція запуску, готові файли (JSON/CSV/Excel/SQLite).
Готова виконати за 3–4 дні. Вартість — узгодимо після уточнення формату фінального вивантаження та можливих нюансів розмітки інших PDF.
Дякую!
Алла
-
4 дні6041 UAH
124 4 дні6041 UAHПропонований технічний підхід
1. Інструменти та бібліотеки:
PyMuPDF (fitz) або pdfplumber для екстракції тексту з PDF
pandas для структурування табличних даних
re (regex) для ідентифікації шаблонів та парсингу форматів NAME=VALUE
Нестандартні функції для об'єднання та нормалізації даних
2. Архітектура рішення:
…
Функція, що ідентифікує секції на основі "упертих" написів
Парсер для основних таблиць з автоматичним виявленням кількості записів
Модуль, що об'єднує дані з обох основних таблиць
Парсер для секції ECU DETAILS з гнучким форматом NAME=VALUE
Генератор динамічного об'єкта (словник/DataFrame) з повною структурою даних
3. Функціональності:
Обробка різної кількості записів у таблицях
Гнучке позиціонування таблиць у документі
Валідація та очищення даних
Експорт у формати, що полегшують подальшу роботу (JSON, CSV, pickle)
Мій досвід
Маю досвід у:
Обробці документів PDF з використанням Python
Парсингу та структуруванні даних з різних форматів
Роботі з бібліотеками pandas, numpy та інструментами для аналізу даних
Створенні масштабованих рішень для автоматизації обробки документів
Пропоную:
✅ Комплексне рішення - готовий скрипт Python з документацією
✅ Гнучкість - код, що адаптується до різних структур документів
✅ Якість коду - зрозумілий, коментований код з обробкою помилок
✅ Тести - приклади використання та валідація на наданих файлах
✅ Підтримка - допомога при впровадженні та можливі модифікації
Готовий розпочати роботу негайно.
-
2 дні6041 UAH
834 8 0 2 дні6041 UAHЯкщо треба потім працювати легко на Python в ідеалі парсити у БД наприклад SQL Lite , якщо хочете можу спарсити у xlsx формат Exel. Напишіть мені для обговорення можу виконати даний фукціонал.
-
2 дні6041 UAH
340 2 дні6041 UAHПривіт!
Я підготував повністю робоче рішення для вашого завдання.
🔹 Скрипт **parse\_ecu\_pdf.py** написаний на Python і робить саме те, що ви описали:
* Читає PDF (як локальний, так і за посиланням) через PyMuPDF.
* Знаходить таблиці **ECU SUMMARY INFO** та **ECU SUMMARY INFO (CONT...)**, парсить їх по рядках.
* Знаходить блоки **ECU DETAILS** і збирає пари `NAME=VALUE`.
* Об'єднує все в динамічний об'єкт: кожен рядок summary автоматично доповнюється словником `details`.
…
🔹 На виході виходить готова JSON-структура, з якою зручно працювати в Python.
📌 Використання:
```bash
python parse_ecu_pdf.py path/to/your_ecu_report.pdf
```
На екран виводиться JSON з даними по кожному ECU.
Скрипт універсальний — кількість рядків у таблицях може бути будь-якою, а розташування таблиць (на початку чи в кінці PDF) не має значення.
Готовий підключитися і допомогти вам з запуском, тестами на вашому PDF і будь-якими доопрацюваннями.
-
3 дні6029 UAH
656 9 0 3 дні6029 UAHДоброго дня, Artem!
В цілому завдання зрозуміле, для точного відповіді по термінам і ціні, хотілося б уточнити деякі питання, які у мене виникли після аналізу вашого завдання.
Пишіть у приватні повідомлення — обговоримо деталі та ваші побажання.
P.S Орієнтуюсь на ваш бюджет, але думаю, що зможу вписатися в меншу суму — після уточнення деталей запропоную точну цифру.
-
1 день6041 UAH
309 1 день6041 UAHДоброго дня, готовий виконати ваше завдання як практику з навчання, пишіть в особисті повідомлення, проговоримо всі деталі всі деталі
-
2 дні7249 UAH
1117 4 0 2 дні7249 UAHПривіт!
Я можу створити інструмент на Python, який читає ваші PDF-файли, знаходить таблиці ECU SUMMARY незалежно від їх розташування у файлі та об'єднує їх в один повний набір даних. Одразу після цього скрипт також збереться таблиці ECU DETAILS і зв'яже кожен набір параметрів NAME=VALUE з потрібною записом ECU. Таким чином, ви отримаєте один чистий об'єкт, що об'єднує всю інформацію і який можна використовувати безпосередньо в Python або перетворити в DataFrame для аналізу.
Я не буду залежати від номерів сторінок або фіксованих позицій. Натомість скрипт буде шукати довідкові мітки та назви розділів, тому він буде працювати навіть при зміні макета або кількості записів. Остаточна структура буде гнучкою, простою для запитів і експорту в JSON або CSV для подальшого використання.
Дякую!
-
1 день6041 UAH
232 1 0 1 день6041 UAHВітаю, Артем!
Я - Python розробник, маю багато досвіду у роботі з PDF.
В якому форматі вам буде зручно працювати на виході?
Пишіть, обговоримо ваш проект!
З повагою,
Андрій
-
2 дні6041 UAH
1328 35 1 2 дні6041 UAHДобрий вечір. Працював з пдф, і робив подібне завдання. Але на пхп, під впс на Лінукс. Там є нюанси, не знаю як у вас, але іноді таблиці не йдуть послідовно, і тоді це буде не просто. Треба пробувати.
-
1 день6041 UAH
2248 18 3 1 день6041 UAHДобрий вечір, Артем. Займаюся автоматизацією на Python. Можу розробити для Вас парсер з необхідним функціоналом, як один з варіантів, після обробки функція буде повертати список словників []{} з якими Ви зможете працювати далі в коді. Якщо зацікавило - пишіть, з радістю обговорю деталі.
-
3 дні6041 UAH
3298 70 1 3 дні6041 UAHПривіт.
Є досвід автоматичного витягування даних з pdf
Можемо обговорити
-
1 день6041 UAH
200 1 0 1 день6041 UAHДобрий день! 👋
Я уважно ознайомився з вашим завданням.
Можу виконати швидко та повністю під ваші вимоги.
Є кілька моментів, які хотів би уточнити.
Готовий почати одразу після узгодження деталей.
-
1 день7249 UAH
1562 7 0 1 день7249 UAHДоброго дня!
Мене звати Роман, і я входжу до топ-6 розробників у категорії «Штучний інтелект і машинне навчання» серед ~1600 фахівців на платформі.
Гарантую:
- Швидке та якісне виконання завдання
- Чітке дотримання дедлайнів
- Регулярний зв’язок протягом усього процесу
Буду радий обговорити деталі вашого проекту у приватних повідомленнях.
-
1 день6041 UAH
267 1 день6041 UAHЯ вже завершив ваше завдання—я можу це продемонструвати.
Актуальні фриланс-проєкти в категорії Python
≈5 мікросервісів на FastAPI + правки та рефакторинг
15 719 UAH
Є проект, що складається приблизно з ~11 мікросервісів на FastAPI з інтеграціями, який більш ніж на половину готовий. Завдання - доробити решту ~5 мікросервісів (конкретніше - subscription/billing та інтеграція з Revenuecat, захист від зловживань для білінгу, Notifications,… Python, Веб-програмування ∙ 2 години 9 хвилин тому ∙ 18 ставок |
Power BI
700 UAH
Дашборд працює на гугл сервері, потрібно перенести всю логіку+код Які потрібні скіли: розгортання etl процесів на linux сервері + робота із BigQuery та Postgre Є робочий код, який працює на google, де є сама БД, потрібно перенести на інший сервер, можливо переписати код. Python, Бази даних та SQL ∙ 1 день 7 годин тому ∙ 15 ставок |
Telegram bot для найму/пошуку працівників. Для пошуку роботи
1100 UAH
1. Загальна концепція Створення Telegram-бота для автоматизації підбору персоналу та двостороннього пошуку роботи. Система працює за принципом активного відгуку та взаємного підтвердження інтересу (Double Opt-In). У системі передбачено дві ролі: Роботодавець (Власник фірми) та… Python, Розробка ботів ∙ 2 дні 15 годин тому ∙ 91 ставка |
Технічна підтримка веб-платформи (Python/Django)Є працюючий веб-проект, потрібно підтримувати і поступово приводити в порядок, без переписування з нуля. Стек проекту: Backend: Python, Django, Django Rest Framework Frontend: Next.js База даних: PostgreSQL Інфраструктура: AWS (EC2), Nginx Є інтеграції з зовнішніми API… Python, Веб-програмування ∙ 2 дні 18 годин тому ∙ 72 ставки |
Створення додаткуБажаю створити мобільний додаток для спілкування, в застосунку має бути аудіо,відео дзвінок, створення групових чатів,можливість синхронізувати з контактами телефону, налаштуваннями акаунта: привязка по мейлу, 2фа, номеру телефону,можливість налаштовувати сповіщення… Java, Python ∙ 4 дні 17 годин тому ∙ 39 ставок |