Python 3.x 如何刮取pdf文件以制作DF

Python 3.x 如何刮取pdf文件以制作DF,python-3.x,parsing,pdf,anaconda,Python 3.x,Parsing,Pdf,Anaconda,我需要用几个数据建立一个数据库。这些数据大多包含在PDF文件中。这些PDF文件都是相同的,但只在数据上发生变化。(例如,我必须处理的一个文件:) 我一直在尝试用PyPDF、tabla、pdfminer(甚至用textract也尝试过,但在Anaconda中不起作用)和其他东西来提取数据,但我没有得到我想要的 然后我尝试将这些pdf文件转换为txt文件,然后对其进行挖掘,但没有得到任何结果。还尝试使用regex,但不了解如何使用它,尽管代码在运行时没有显示错误: import re import

我需要用几个数据建立一个数据库。这些数据大多包含在PDF文件中。这些PDF文件都是相同的,但只在数据上发生变化。(例如,我必须处理的一个文件:)

我一直在尝试用PyPDF、tabla、pdfminer(甚至用textract也尝试过,但在Anaconda中不起作用)和其他东西来提取数据,但我没有得到我想要的

然后我尝试将这些pdf文件转换为txt文件,然后对其进行挖掘,但没有得到任何结果。还尝试使用regex,但不了解如何使用它,尽管代码在运行时没有显示错误:

import re
import sys

recording = False
your_file = "D:\Magister\Tercer semestre\Tesis I\Txt\ResultadoConcurso1.txt"
start_pattern = 'apellidos:'
stop_pattern = '1.2'
output_section = []

for line in open(your_file).readlines():
    if recording is False:
        if re.search(start_pattern, line) is not None:
            recording = True
            output_section.append(line.strip())
    elif recording is True:
        if re.search(stop_pattern, line) is not None:
            recording = False
            sys.exit()
        output_section.append(line.strip())

print("".join(output_section))
正如你在我左上方的链接中看到的,pdf文件有不同的部分。我需要得到这些部分的信息。例如,我数据库中的一个字段是“Nombre y apellido”(name和lastname)。它包含在“apellidos:”和“1.2”之间

我该怎么办?我可以直接从PDF格式工作吗?或者我应该在txt文件中工作?然后,我应该用什么来获取信息?(Python 3.XX;蟒蛇)


谢谢

嗨,谢谢你的回答。我提取了完整的页面,但我不能做的是按照我编写的特定模式获取这些页面的特定部分。例如,提取name和lastname。我不确定这个链接是重复的,还是只会让你前进很长一步,但请尝试将pdf转换为文本。这将避免pdf中的所有“杂音”,比如画一个矩形,并在名称所在的位置对其背景着色。噪音消失后,您会发现数据挖掘变得更容易。谢谢Scott。我真的这么做过。我被困在试图只得到文本的一部分。我的意思是,把文本放在两个单词或数字之间。你能把你的文本文件放进你的问题吗?在有效线之前可能有2行,之后最多有2行?