将PDF中的表格读取出来,并写入其他文件格式

将PDF中的表格读取出来,并写入其他文件格式

2020专插本投档情况公布了,想着能不能分析一下今年得数据,于是找到得文件是PDF格式得,文件格式不是熟悉得csv,excel…

于是有这么一个想法能不能把PDF格式得文件转为我熟悉操作得文件格式
便有以下代码,作为学习得记录

找到资料pdf格式如下(官网下载下来得)
在这里插入图片描述
在这里插入图片描述

代码实现,这里把PDF格式转为Excel格式

import pdfplumber
import xlwt
import  pandas as pd
#pdfplumber库  是一个可以处理pdf格式信息的库
#安装直接采用pip即可。命令行中输入
#pip install pdfplumber

workbook = xlwt.Workbook()
sheet = workbook.add_sheet('Sheet1')
#自定义了每一列得标题,并写入文件得第一行中
One =['院校代码','学校', '专业','文理科','执行计划招生人数','实际招生人数','投档录取分数线']
# sheet.insert_rows(One)
for item in range(len(One)):
    sheet.write(0, item, One[item])
    
#第一行写入了标题,那么写入得内容就需要冲第2行开始写入 也就是从1开始写入
i = 1

path = r'C:\Users\hzxc\Desktop\3052843.pdf'  #PDF文件位置
pdf = pdfplumber.open(path)

print("开始读取数据")
print('\n')

#  .pages是一个包含页面信息的列表
#  .extract_tables() 提取页面的表格
for page in pdf.pages:

    for table in page.extract_tables():
        del(table[0])   #目的是删除每一页中标题(表头)信息
        for row in table:
            print(row)
            for j in range(len(row)):
                sheet.write(i,j,row[j])
            i += 1
        print('-----分割线-----')

pdf.close()

#保存为Excel表
workbook.save(r'E:\2020插本.xls')
print('写入成功')

获取到文件,并进行了简单得数据分析

import  pandas as pd
dataxls = pd.read_excel(r'E:\2020插本.xls',
                        usecols=[1,2,3,5,6])

print('最大分数'+str(dataxls["投档录取分数线"].max()))
print('最低分数'+str(dataxls["投档录取分数线"].min()))

#arr[arr['numTest']>2]
print(dataxls[dataxls["投档录取分数线"]==dataxls["投档录取分数线"].max()])
print(dataxls[dataxls["投档录取分数线"]==dataxls["投档录取分数线"].min()])

print(dataxls["实际招生人数"].sum())
print(dataxls.groupby("学校")["实际招生人数"].sum())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值