Condivisione della tecnologia

Estrai il contenuto della tabella dal PDF in batch

2024-07-12

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

1. Contesto

Anche ottenere dati in tabelle da file PDF è un compito che rientra facilmente nel lavoro d'ufficio quotidiano. Se ad esempio vogliamo ottenere i dati tabellari del report annuale di un'azienda, il PDF può facilmente contenere centinaia di pagine di dati.

2 metodi tradizionali

Copiare uno per uno dalla tabella PDF e poi incollarlo nella tabella Excel è troppo inefficiente.

3 Automazione dell'ufficio

Diamo un'occhiata al mio metodo e a come risolverlo usando Python. Usa pdfplumber per leggere file PDF, estrarre automaticamente le tabelle su ogni pagina e scriverle in nuovi file Excel in un ciclo. L'idea è la stessa del metodo tradizionale, ma quanto tempo ci vuole? Non battere ciglio, devo solo premere il pulsante Esegui e tutte le operazioni verranno eseguite automaticamente. Tutti i file verranno generati e nominati automaticamente. Ne aprirò uno o due in modo casuale. Non c'è problema. .

4 implementazione del codice

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

Effetto di realizzazione: