defget_pdf_tables(path):_pdf = pdfplumber.open(path)pages =len(_pdf.pages)# _pdf.pages 输出的是列表数据all_table =[]for i inrange(pages):# 读取每页pdf 中含有表格的数据for j in _pdf.pages[i].extract_tables():# 获取每页table, 每一行的数据,content =[k for k in j if''notin k]all_table.append(content)return all_table
获取pdf中的table数据, 并写入表格
import pdfplumber import pandas as pddefget_pdf_tables(path):_pdf = pdfplumber.open(path)pages =len(_pdf.pages)# _pdf.pages 输出的是列表数据all_table =[]for i inrange(pages):# 读取每页pdf 中含有表格的数据for j in _pdf.pages[i].extract_tables():# 获取每页table, 每一行的数据,content =[k for k in j if''notin k]all_table.append(content)return all_table# 获取pdf 中的表格数据, 并写入pdf数据 defwrite_to_excel(all_tables):writer = pd.ExcelWriter("表格数据.xlsx")for index, content inenumerate(all_tables):name ="pd_{}".format(index)df = pd.DataFrame(content)df.to_excel(writer, sheet_name=name, encoding="gbk")# 最后保存写入,并释放writer.save()writer.close() if __name__ =='__main__':data = get_pdf_tables('test.pdf')write_to_excel(data)