# -*- coding: utf-8 -*-
导入需要使用的包
import os
import pandas as pd
import pdfplumber
自定义函式名extract_table_info(filepath, save_dirpath, Page)
"""
提取PDF中的图表数据
@param filepath:
@return:
"""
def extract_table_info(filepath, save_dirpath, Page):
with pdfplumber.open(filepath) as pdf:
# 获取指定Page页数据
page = pdf.pages[Page]
# 如果一页有一个表格,设置表格的第一行为表头,其余为数据
table_info = page.extract_table()
df_table = pd.DataFrame(table_info[1:], columns=table_info[0])
df_table.to_csv(save_dirpath, index=False, encoding='gbk')
提取’PDF表格.pdf‘文件的第110页的表格内容
extract_table_info(r'E:\learn\PDF相关处理\PDF提取表格\PDF表格.pdf',
'E:\learn\PDF相关处理\PDF提取表格\提取表格test.csv',
Page=110)
如果一页有多个表格,对应的数据是一个三维数组
自定义函式名extract_table_info(filepath, save_dirpath, filename, Page)
"""
提取PDF中的图表数据
@param filepath:
@return:
"""
def extract_table_info(filepath, save_dirpath, filename, Page):
with pdfplumber.open(filepath) as pdf:
# 获取指定Page页数据
page = pdf.pages[Page]
tables_info = page.extract_tables()
for i in range(len(tables_info)):
# 设置表格的第一行为表头,其余为数据
df_table = pd.DataFrame(tables_info[i][1:], columns=tables_info[i][0])
#print(df_table)
save_path = os.path.join(save_dirpath, filename+str(int(i)+1)+'.csv')
df_table.to_csv(save_path, index=False, encoding='gbk')
提取’PDF表格.pdf‘文件中第121页中的多个表格
extract_table_info(filepath=r'E:\learn\PDF相关处理\PDF提取表格\PDF表格.pdf',
save_dirpath=r'E:\learn\PDF相关处理\PDF提取表格',
filename='提取一页中的多个表格',
Page=121)