Обмен технологиями

Извлечение содержимого таблицы из PDF в пакетном режиме

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. История

Получение данных в таблицах из файлов PDF также является задачей, которую легко включить в повседневную офисную работу. Например, если мы хотим получить табличные данные годового отчета компании, PDF-файл может легко содержать сотни страниц данных.

2 традиционных метода

Копирование по одному из таблицы PDF и последующая вставка в таблицу Excel слишком неэффективно.

3 Автоматизация офиса

Давайте посмотрим на мой метод и на то, как его решить с помощью Python. Используйте pdfplumber для чтения PDF-файлов, автоматического извлечения таблиц на каждой странице и циклической записи их в новые файлы Excel. Идея та же, что и у традиционного метода, но сколько времени это занимает? Не моргайте, мне просто нужно нажать кнопку «Выполнить», и все операции будут выполнены автоматически. Все файлы будут автоматически созданы и названы, я случайно открою один или два, чтобы проверить. Все они точны. .

4 реализация кода

  1. ## 导入工具包
  2. import pdfplumber
  3. import pandas as pd
  4. ## 读取 PDF 文件
  5. p = pdfplumber.open("./贵州茅台2019年年报.pdf")
  6. # 选好读取全部页面
  7. for i in range(len(p.pages)):
  8. ## 读取一页中全部表格
  9. tables = p.pages[i].extract_tables()
  10. print(f'第{i+1}页一共有{len(tables)}个表格')
  11. for j in range(len(tables)):
  12. ## 生成表格
  13. df = pd.DataFrame(tables[j])
  14. ## 写入 Excel 文件
  15. df.to_excel(f'./贵州茅台2019年年报_第{i+1}页_第{j+1}张表.xlsx')

Эффект реализации: