python提取pdf数据,python提取pdf中的表格数据存进数据库

# 提取pdf中的测试步骤表数据并将其存储在数据库中

导入 pdfplumber,时间

来自.models import ScenarioInfo # 这是模型中引入的ScenarioInfo表

pdfplumber.open(r " C:\\\\用户\\\\ hisoft \\\\桌面\\\\(2019-09-25)_21460.pdf " )as pdf:

m = 0 # 测试步骤表的数量(由标头数量计算)

s = " \ lt;表\ gt; tbody \ gt; "

mjcd = "" # 上一级菜单

for i in范围(29,len(pdf.pages)):# 从第30页获取表单数据

page = pdf.pages [i] # 设置操作页面

n = 1 # 当前页面的第n个表

用于表在中page.extract_tables ():

k = 是

用于行in 范围(len(表)):

如果 str(表[

行]) == r " ["步骤","案例步骤","预期结果","测试信息","耗时(秒\\\\ n)","结果"] ":# 这是基于表行的内容来确定是否它是新表的开始,因为标题内容是固定的>

if i == 29 and n == 1:# 确定它是否是第30页的第一个表单

通过

其他 :

s + = " \ lt;/正文\ gt;/表\ gt; "

打印(" i = " ,i)

# print(" s =",s)

# print(" mjcd =",mjcd)

m + = 1

ScenarioInfo.objects.create(test_steps = s,lrry = " 哈哈哈 ",mjcd = mjcd)# 保存在数据库中,s是缝合的表单字符串,富文本将识别表单标签显示

time.sleep(0.6 )

mjcd = ""

s = " \ lt;表\ gt; \ lt; tbody \ gt; "

for j in range(len (表[行])):

如果 j == 0:# 确定它是否是当前行的第一列

s + = " \ lt; tr \ gt; \ lt; td \ gt; "

s + = 表[行] [j]

如果 j == 1:# 要确定它是否是当前行的第二列,请取出上一级菜单,如果有多个上一级菜单,则仅采用第一个菜单

如果 k:

如果 len(表[row] [j].split(" 搜索并打开菜单:[ "))\ gt; 1 :

mjcd = table [row] [j].split(" 搜索以打开菜单:[ ")[1].split(" ] " )[0]

k = 错误

如果 j == len(表[行])-1:# 确定它是否是当前行的最后一列

s + = " \ lt;/td \ gt; \ lt;/tr \ gt; "

其他 :

s + = " \ lt;/td \ gt; \ lt; td \ gt; "

如果 i == len(pdf.pages)-1:# 确定它是否是最后一页

如果 n == len(page.extract_tables()):# 确定它是否为最后一个形式

for行in range(len (表)):

如果 row == len(表格)-1:# 确定它是否是当前表的最后一行

for j in range(len (表[行])):

如果 j == len(表[行])-1:# 确定它是否是当前行的最后一列

s + = " \ lt;/正文\ gt;/表\ gt; "

打印(" i = " ,i)

打印(" end_s =: " ,s)

m + = 1

打印(" m = " ,m)

打印(" mjcd = " ,mjcd)

ScenarioInfo.objects.create(test_steps = s,lrry = " 哈哈哈 ",mjcd = mjcd)# 保存在数据库中

n + = 1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值