python pdf轉Excel

20170405發表於2020-08-08

  原始檔為test.pdf

  目標檔案為pdf.xlsx

  import pdfplumber # 關鍵在這個庫

  import pandas as pd

  def func(src, dest='pdf.xlsx'):

  pdf = pdfplumber.open(src)

  size = len(pdf.pages) #pdf有多少頁

  with pd.ExcelWriter(dest) as writer:# 多頁表格內容寫入一個Excel

  count = 0

  j = 0

  is_start = False

  for i in range(size):

  print('reading page %d' % i)

  page = pdf.pages[i]

  content = page.extract_text()

  # 這段程式碼是為了匹配表開始的地方

  if not is_start:

  if content.lstrip().startswith('附表:網下投資者初步配售明細'):

  is_start = True

  else:

  continue

  # 非表格就跳過

  try:

  table = page.extract_table()

  except:

  continue

  # 表格內容會轉化為dataframe

  df = pd.DataFrame(table)

  #避免出現多個dataframe的表頭

  if count == 0 :   m/

  df.to_excel(writer, header=False, index=False, startrow=count)

  else:

  df[1:].to_excel(writer, header=False, index=False, startrow=count - j)

  j += 1 # 避免出現空行

  count += len(df)

  pass

  writer.save()

  writer.close()

  pass

  if __name__ == '__main__':

  func('test.PDF')


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69979119/viewspace-2710191/,如需轉載,請註明出處,否則將追究法律責任。

相關文章