我正在使用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格式。
答案 0 :(得分:0)
不是很漂亮,但是我认为这可以完成工作。您将得到一个字典,然后由json解析器以一种漂亮的漂亮格式将其打印出来。
one_hot_vec <- function(x) {
nc <- max(x)
nr <- length(x)
m <- integer(nr * nc)
i <- (seq_len(nr) - 1) * nc + x
m[i] <- 1L
matrix(m, nrow = nr, ncol = nc, byrow = TRUE)
}
或者,而不是最后三行,只需执行以下操作:
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)