首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >python从列中打开PDF urls并将文本数据加载到新列中

python从列中打开PDF urls并将文本数据加载到新列中
EN

Stack Overflow用户
提问于 2018-02-13 03:08:09
回答 1查看 705关注 0票数 0

我有一个数据框,如下所示,它有500+行,我只显示了一个示例。URL栏包含web上PDF的链接。我想打开每个pdf并将pdf的内容复制到新的列PDF data中。我知道一些PDF文件可能会很长,在某些情况下,该列中的文本数量可能会很大。

例如,在第一行中,我希望将URL 'https://www.occ.gov/static/enforcement-actions/ea2018-001.pdf‘的内容复制到列PDF data中。

对于第二行,PDF data将为空。

在第三行中,PDF data将包含PDF ''https://www.occ.gov/static/enforcement-actions/ea2017-104.pdf'‘的内容。

我偶然发现了这个处理PDFs的URL,但它需要将所有的pdfs下载到一个文件夹中,并且它的输出是一个包含txt文件的文件夹。但我希望将pdf的内容放入一列数据中。此外,我有500+行,我不能一次下载一个pdf。

代码语言:javascript
运行
复制
import pandas as pd
import numpy as np

sales = [{'account': 'credit cards', 'Jan': '150 jones', 'Feb': '200 .jones', 'URL': 'https://www.occ.gov/static/enforcement-actions/ea2018-001.pdf'},
         {'account': '1',  'Jan': 'Jones', 'Feb': '210', 'URL': ''},
         {'account': '1',  'Jan': '50',  'Feb': '90',  'URL': 'https://www.occ.gov/static/enforcement-actions/ea2017-104.pdf' }]
df = pd.DataFrame(sales)
EN

回答 1

Stack Overflow用户

发布于 2018-02-13 03:40:33

我不知道有什么好方法可以在不先下载的情况下从pdf中提取文本,然后发现this answer也有类似的内容。但是,如果使用requests下载文件,则可以使用任意数量的工具来提取文本。例如,PyMuPDF使得将pdf的文本提取为一个长字符串(docs here)变得非常容易。

为了真正将提取的文本添加到dataframe中的新列,您可以这样做:

代码语言:javascript
运行
复制
def pdf_text_extractor(url):
    # code to download pdf
    # code to extract text from pdf
    return pdf_text

df.assign(pdf_text = df['URL'].apply(pdf_text_extractor))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48753751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档