Compartir tecnología

Extraiga el contenido de la tabla de PDF en lotes

2024-07-12

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

1. Antecedentes

Obtener datos en tablas a partir de archivos PDF también es una tarea que se realiza fácilmente en el trabajo diario de oficina. Por ejemplo, si queremos obtener los datos tabulares del informe anual de una empresa, el PDF puede contener fácilmente cientos de páginas de datos.

2 métodos tradicionales

Copiar uno por uno de la tabla PDF y luego pegarlo en la tabla de Excel es demasiado ineficiente.

3 Ofimática

Echemos un vistazo a mi método y cómo resolverlo usando Python. Utilice pdfplomber para leer archivos PDF, extraer automáticamente las tablas de cada página y escribirlas en nuevos archivos de Excel en un bucle. La idea es la misma que la del método tradicional, pero ¿cuánto tiempo lleva? No parpadee, solo necesito presionar el botón Ejecutar y todas las operaciones se ejecutarán automáticamente. Todos los archivos se generarán y nombrarán aleatoriamente para verificar. No hay problema. .

4 implementación de código

  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')

Efecto de realización: