相关疑难解决方法(0)

Python3中的StringIO

我使用的是Python 3.2.1,我无法导入StringIO模块.我使用 io.StringIO和它的作品,但我不能使用它numpygenfromtxt是这样的:

x="1 3\n 4.5 8"        
numpy.genfromtxt(io.StringIO(x))
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

TypeError: Can't convert 'bytes' object to str implicitly  
Run Code Online (Sandbox Code Playgroud)

当我写import StringIO它时说

ImportError: No module named 'StringIO'
Run Code Online (Sandbox Code Playgroud)

python io python-3.x

407
推荐指数
7
解决办法
48万
查看次数

378
推荐指数
9
解决办法
32万
查看次数

如何将pdfminer用作库

我正在尝试使用pdfminer从pdf获取文本数据.我可以使用pdfminer命令行工具pdf2txt.py成功将此数据提取到.txt文件.我目前这样做,然后使用python脚本来清理.txt文件.我想将pdf提取过程合并到脚本中并为自己节省一步.

当我找到这个链接时,我以为我正在做某件事,但我没有成功解决任何问题.也许那里列出的功能需要再次更新,因为我使用的是更新版本的pdfminer.

我也尝试过这里显示的功能,但它也没有用.

我尝试的另一种方法是使用脚本在脚本中调用脚本os.system.这也是不成功的.

我使用的是Python 2.7.1版本和pdfminer版本20110227.

python pdf pdfminer

65
推荐指数
6
解决办法
7万
查看次数

Pdfminer python 3.5

我已经遵循了几个教程但是我无法运行此代码块,我从StringIO到BytesIO进行了必要的切换(我相信?)

我不确定为什么'香蕉'什么都不打印,我认为错误可能是红色的鲱鱼?是不是跟着python2.7教程并试图将它翻译成python3?

errors: File "/Users/foo/PycharmProjects/Try/Pdfminer.py", line 28, in <module>
    banana = convert("A1.pdf")
  File "/Users/foo/PycharmProjects/Try/Pdfminer.py", line 19, in convert
    infile = file(fname, 'rb')
NameError: name 'file' is not defined
Run Code Online (Sandbox Code Playgroud)

脚本

from io import BytesIO

from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage

def convert(fname, pages=None):
    if not pages:
        pagenums = set()
    else:
        pagenums = set(pages)

    output = BytesIO()
    manager = PDFResourceManager()
    converter = TextConverter(manager, output, laparams=LAParams())
    interpreter = PDFPageInterpreter(manager, converter)

    infile = …
Run Code Online (Sandbox Code Playgroud)

pdf text extract python-3.x pdfminer

19
推荐指数
2
解决办法
3万
查看次数

如何从脚本中提取PDF文档的标题以进行重命名?

我的计算机里有成千上万的PDF文件,这些文件的名称来自a0001.pdfa3621.pdf,每个文件的内部都有一个标题; 例如,"碳酸铝" a0001.pdf,"硝酸铝" a0002.pdf等,我想提取重命名我的文件.

我用这个程序重命名一个文件:

path=r"C:\Users\YANN\Desktop\..."

old='string 1'
new='string 2'

def rename(path,old,new):
    for f in os.listdir(path):
        os.rename(os.path.join(path, f), os.path.join(path, f.replace(old, new)))

rename(path,old,new)
Run Code Online (Sandbox Code Playgroud)

我想知道是否有解决方案提取嵌入在PDF文件中的标题来重命名文件?

python pdf file python-3.x

15
推荐指数
2
解决办法
7918
查看次数

Python Data Extraction from an Encrypted PDF

I am an recent graduate in pure mathematics who only has taken few basic programming courses. I am doing an internship and I have an internal data analysis project. I have to analyze the internal PDFs of the last years. The PDFs are "secured." In other words, they are encrypted. We do not have PDF passwords, even more, we are not sure if passwords exist. But, we have all these documents and we can read them manually. We can print …

python pdf encryption extraction

11
推荐指数
1
解决办法
886
查看次数

如何在 python 3 中使用 PDFminer.six?

我想使用 pdfminer.six 这是一个工具,可以与 Python3 一起用于从 PDF 文档中提取信息。问题是根本没有好的文档,也没有关于如何使用该工具的源代码示例。

我已经尝试过 StackOverflow 中的一些代码,但没有奏效。下面是我的代码。

from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from io import StringIO

def convert_pdf_to_txt(path):
    rsrcmgr = PDFResourceManager()
    retstr = StringIO()
    codec = 'utf-8'
    laparams = LAParams()
    device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
    fp = open(path, 'rb')
    interpreter = PDFPageInterpreter(rsrcmgr, device)
    password = ""
    maxpages = 0
    caching = True
    pagenos=set()

    for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages, password=password,caching=caching, check_extractable=True):
        interpreter.process_page(page)

    text = retstr.getvalue()

    fp.close()
    device.close()
    retstr.close()
    return …
Run Code Online (Sandbox Code Playgroud)

python-3.x pdfminer pypdf2

9
推荐指数
1
解决办法
2万
查看次数

python pdfminer 将 pdf 文件转换为一大块字符串,单词之间没有空格

我使用的以下代码主要取自 DuckPuncher 对这篇文章Extracting text from a PDF file using PDFMiner in python? 将 pdf 转换为文本文件:

def convert_pdf_to_txt(path):
    rsrcmgr = PDFResourceManager()
    retstr = StringIO()
    codec = 'utf-8'
    laparams = LAParams()
    device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
    fp = open(path, 'rb')
    interpreter = PDFPageInterpreter(rsrcmgr, device)
    password = ""
    maxpages = 0
    caching = True
    pagenos=set()
    for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages, password=password,caching=caching, check_extractable=True):
    interpreter.process_page(page)
    fp.close()
    device.close()
    str = retstr.getvalue()
    retstr.close()
    return str
Run Code Online (Sandbox Code Playgroud)

使用以下代码下载pdf并存储在我的本地目录中并存储在我的本地目录中。它工作得很好。

import requests
url = 'link_to_the_pdf'
file_name = './name.pdf' …
Run Code Online (Sandbox Code Playgroud)

python-3.x pdfminer

8
推荐指数
1
解决办法
1635
查看次数

Python PDF直接阅读它在PDF中的外观

如果我在答案中使用代码: 在Python中使用PDFMiner从PDF文件中提取文本?

我可以在申请PDF格式时提取文本:https://www.tencent.com/en-us/articles/15000691526464720.pdf

但是,您在"合并收入报表"下看到,它会读取...即... Revenues VAS Online advertising然后它会读取数字...我希望它能够读取,即:

Revenues 73,528 49,552 73,528 66,392 VAS 46,877 35,108 等等......有没有办法做到这一点?

寻找其他可能的解决方案pdfminer.

如果我尝试使用此代码,PyPDF2并非所有文本都出现:

# importing required modules
import PyPDF2

# creating a pdf file object
pdfFileObj = open(file, 'rb')

# creating a pdf reader object
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)

# printing number of pages in pdf file
a=(pdfReader.numPages)

# creating a page object
for i in range(0,a):
    pageObj = pdfReader.getPage(i)
    print(pageObj.extractText())
Run Code Online (Sandbox Code Playgroud)

python pdf pdfminer pypdf2

6
推荐指数
1
解决办法
660
查看次数

如何从 PDF 中提取文本片段及其在 Python 中的坐标?

给定一个数字创建的 PDF 文件,我想提取带有坐标的文本。边界框会很棒,但锚点+字体/字体大小也可以。

我创建了一个示例 PDF 文档,以便轻松尝试/分享结果。

我尝试过的

pdf转文本

pdftotext PDF-export-example.pdf -layout
Run Code Online (Sandbox Code Playgroud)

给出这个输出。它已经包含文本,但坐标不在那里。

pyPDF2

PyPDF2 更糟糕 - 既没有坐标,也没有字体大小,在这种情况下,甚至 ASCII 艺术都没有线索布局是如何的:

pdftotext PDF-export-example.pdf -layout
Run Code Online (Sandbox Code Playgroud)

pdfminer.6

另一种提取文本的方法,但没有坐标/字体大小。感谢Duck Puncher的这一篇:

from PyPDF2 import PdfFileReader


def text_extractor(path):
    with open(path, "rb") as f:
        pdf = PdfFileReader(f)
        page = pdf.getPage(0)
        text = page.extractText()
        print(text)


if __name__ == "__main__":
    path = "PDF-export-example.pdf"
    text_extractor(path)
Run Code Online (Sandbox Code Playgroud)

这个方向更正确,因为它可以给出字体名称和大小。但坐标仍然丢失(并且输出有点冗长,因为它是逐个字符的):

from io import StringIO

from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfinterp import PDFPageInterpreter, PDFResourceManager
from pdfminer.pdfpage …
Run Code Online (Sandbox Code Playgroud)

python pdf

6
推荐指数
1
解决办法
4595
查看次数

pdfminer3k在PDFPage中没有名为create_pages的方法

由于我想从python 2移到3,我尝试在python 3.4中使用pdfmine.3kr.好像他们编辑了一切.他们的更改日志并没有反映他们所做的更改,但我没有成功用pdfminer3k解析pdf.例如:

他们已将PDFDocument移动到pdfparser(对不起,如果拼写不正确).PDFPage曾经有过create_pages方法.我在PDFPage中看到的只是内部方法.有没有人有pdfminer3k的工作示例?似乎没有新的文档来反映任何变化.

python pdfminer

5
推荐指数
1
解决办法
8136
查看次数

Python从URL抓取pdf

我想从URL“ http://www.nycgo.com/venues/thalia-restaurant#menu ”中抓取文本,我感兴趣的文本位于页面的“菜单”选项卡中。我尝试了BeautifulSoup来获取页面上的所有文本,但是以下代码的返回值缺少菜单中的所有文本。

html = urllib2.urlopen("http://www.nycgo.com/venues/thalia-restaurant#menu")
html=html.read()
soup = BS(html)
print soup.get_text()
Run Code Online (Sandbox Code Playgroud)

当我检查菜单内容中的元素时,菜单的内容似乎是页面上html的一部分。我确实注意到,当实际浏览页面时,菜单完全加载需要几秒钟。不知道这是否就是上面的代码无法获取菜单内容的原因。

任何见识将不胜感激。

html python beautifulsoup

1
推荐指数
1
解决办法
5509
查看次数