gpt4 book ai didi

python - 如何在Python中将提取的文本从PDF转换为JSON或XML格式?

转载 作者:太空宇宙 更新时间:2023-11-03 21:43:30 26 4
gpt4 key购买 nike

我正在使用 PyPDF2 从 PDF 文件中提取数据,然后转换为文本格式?

该文件的 PDF 格式如下:

Name : John 
Address: 123street , USA
Phone No: 123456
Gender: Male

Name : Jim
Address: 456street , USA
Phone No: 456899
Gender: Male

在Python中我使用这个代码:

import PyPDF2
pdf_file = open('C:\\Users\\Desktop\\Sampletest.pdf', 'rb')
read_pdf = PyPDF2.PdfFileReader(pdf_file)
number_of_pages = read_pdf.getNumPages()
page = read_pdf.getPage(0)
page_content = page.extractText()
page_content

这是我从 page_content 得到的结果:

 'Name : John \n \nAddress: 123street , USA \n \nPhone No:  123456\n \nGender: Male \n \n \nName : Jim \n \nAddress:  456street , USA \n \nPhone No:  456899\n \nGender: Male \n \n \n'

如何将其格式化为 JSON 或 XML 格式,以便我可以在 SQL Server 数据库中使用提取的数据。

我也尝试过使用这种方法

import json
data = json.dumps(page_content)
formatj = json.loads(data)
print (formatj)

输出:

Name : John 
Address: 123street , USA
Phone No: 123456
Gender: Male

Name : Jim
Address: 456street , USA
Phone No: 456899
Gender: Male

这与我在 word 文件中的输出相同,但我认为这不是 JSON 格式。

最佳答案

不太漂亮,但我认为这可以完成工作。你会得到一个字典,然后由 json 解析器以漂亮的格式打印出来。

import json    

def get_data(page_content):
_dict = {}
page_content_list = page_content.splitlines()
for line in page_content_list:
if ':' not in line:
continue
key, value = line.split(':')
_dict[key.strip()] = value.strip()
return _dict

page_data = get_data(page_content)
json_data = json.dumps(page_data, indent=4)
print(json_data)

或者,不用最后 3 行,只需执行以下操作:

print(json.dumps(get_data(page_content), indent=4))

关于python - 如何在Python中将提取的文本从PDF转换为JSON或XML格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52675556/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com