如何在python中将从PDF提取的文本格式化为json - python

我已经使用pyPDF2提取了一些文本格式的发票PDF。我想将此文本文件转换为仅包含重要关键字和令牌的json文件。

输出应该是这样的:

#PurchaseOrder

{

"doctype":"PO",

"orderingcompany":"Demo Company",

"suppliercompany":"Demo Company",

"shipto":"Test Customer",

"ponum":"PO1234",

"podate":"01-01-2019",

"totalamount":"$1234.50",

"currency":"SGD"

}

我从pdf中获得的示例文本是:

PACE会员商品

4115私语松林圈

大草原,TX 75051

972

336

7141

56929268

采购订单

至:

埃尔默·华

A +投资

塞鲁洛路1223号

列克星敦(肯塔基州40507)

[电话号码]

运送到:

严月桂

步伐
会员仓库

4115私语松林圈

大草原,TX 75051

972

336

7141

邮局数:

PO / 18

19081

[邮政局号码必须
出现在所有相关
信件,运输
论文和发票]

日期

申购人

发货

F.O.B.点

条款

2006年7月15日

数量

单元

描述

单价


(新加坡元)

100.00

1个

Interlock Drifit圆领,ILRN

13.50

1,350.00

小计

1,350.00

销售税

200.00

1。

请发送两份您的
发票。

2。

根据价格,条款输入此订单,
交付方式和上面列出的规格。

3。

如果您无法按以下方式发货,请立即通知我们
指定。

4。

将所有信件发送至:

严月桂

4115私语松林圈

GRA
nd Prairie,TX 75051

972

336

7141

56929268

运送和处理
G

其他

1,550.00

被授权于
严月桂

2006年7月15日

python参考方案

您提供的文字可能是编辑帖子以删除地址的好主意

要回答您的问题,您将必须逐行遍历此文本并记录所需的部分并将其保存到json。

如果您只想按位置获取页面的子集,则之前已经询问过
How to extract text from a Specific Area in a PDF using Python?

JSON SCHEMA PATTERN逗号分隔列表 - python

我的json模式中具有以下模式,并且我需要根据以下模式包含逗号分隔的值。当前模式只能像DV2一样处理一种模式所以我应该如何修改我的模式以包括多个字符串,如下所示,但它应该与声明的模式匹配。例如:“ DV2”,“ DEV1”,“ DEV3”,“ ST”, "ENVIRONMENT": { "type": "st…

用大写字母拆分字符串,但忽略AAA Python Regex - python

我的正则表达式:vendor = "MyNameIsJoe. I'mWorkerInAAAinc." ven = re.split(r'(?<=[a-z])[A-Z]|[A-Z](?=[a-z])', vendor) 以大写字母分割字符串,例如:'我的名字是乔。 I'mWorkerInAAAinc”变成…

Python sqlite3数据库已锁定 - python

我在Windows上使用Python 3和sqlite3。我正在开发一个使用数据库存储联系人的小型应用程序。我注意到,如果应用程序被强制关闭(通过错误或通过任务管理器结束),则会收到sqlite3错误(sqlite3.OperationalError:数据库已锁定)。我想这是因为在应用程序关闭之前,我没有正确关闭数据库连接。我已经试过了: connectio…

根据字段名称和值从JSON中选择字段 - python

在python中,我从API调用中获取了JSON。resp = requests.get(url) resp.json() 我将使用我的MySQL词汇表。我得到的这个对象很大,结构不规则(并非所有字段都可用于每个条目)。因此,我想在此JSON中选择一些字段和一些基于值的条目。假设JSON返回用户的个人资料,其中包含字段"name",�…

查找字符串中的行数 - python

我正在创建一个python电影播放器​​/制作器,我想在多行字符串中找到行数。我想知道是否有任何内置函数或可以编写代码的函数来做到这一点:x = """ line1 line2 """ getLines(x) python大神给出的解决方案 如果换行符是'\n',则nlines …