我正在尝试使用提取此 PDF文件中包含的文本Python.
我正在使用PyPDF2模块,并具有以下脚本:
import PyPDF2
pdf_file = open('sample.pdf')
read_pdf = PyPDF2.PdfFileReader(pdf_file)
number_of_pages = read_pdf.getNumPages()
page = read_pdf.getPage(0)
page_content = page.extractText()
print page_content
Run Code Online (Sandbox Code Playgroud)
当我运行代码时,我得到以下输出,该输出与PDF文档中包含的输出不同:
!"#$%#$%&%$&'()*%+,-%./01'*23%4
5'%1$#26%3/%7/))/8%&)/26%8#3"%3"*%313/9#&)
%
Run Code Online (Sandbox Code Playgroud)
如何在PDF文档中提取文本?
我刚刚开始研究Python,我一直在尝试从Python运行外部可执行文件.
我有一个用Fortran编写的程序的可执行文件.假设可执行文件的名称是flow.exe.我的可执行文件位于C:\Documents and Settings\flow_model.我尝试了os.system和popen命令,但到目前为止我无法使其工作.以下代码似乎打开命令窗口,但它不会执行模型.
# Import system modules
import sys, string, os, arcgisscripting
os.system("C:/Documents and Settings/flow_model/flow.exe")
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?
我有很多文件夹,每个文件夹都有几个 pdf 文件(也有其他文件类型,如 .xlsx 或 .doc)。我的目标是提取每个文件夹的pdf文本并创建一个数据框,其中每条记录都是“文件夹名称”,每列以字符串形式表示该文件夹中每个pdf文件的文本内容。
我设法从一个带有包的 pdf 文件中提取文本tika(代码如下)。但无法进行循环来迭代文件夹或其他文件夹中的其他 pdf,从而构建结构化数据框。
# import parser object from tike
from tika import parser
# opening pdf file
parsed_pdf = parser.from_file("ducument_1.pdf")
# saving content of pdf
# you can also bring text only, by parsed_pdf['text']
# parsed_pdf['content'] returns string
data = parsed_pdf['content']
# Printing of content
print(data)
# <class 'str'>
print(type(data))Run Code Online (Sandbox Code Playgroud)
所需的输出应如下所示:
| 文件夹名称 | pdf1 | pdf2 |
|---|---|---|
| 17534 | pdf1 的文本 | pdf 2 的文本 |
| 63546 | pdf1 的文本 | pdf1 的文本 |
| 26374 | pdf1 的文本 | - |