Python从列中打开PDF urls并将文本数据加载到新列中的问题可以分为两个部分来回答:如何从URL中打开PDF文件,并如何将PDF文件中的文本数据加载到新列中。
综上所述,可以使用以下代码实现从列中打开PDF urls并将文本数据加载到新列中:
import requests
import io
import subprocess
from pdfminer.pdfparser import PDFParser
from pdfminer.pdfdocument import PDFDocument
from pdfminer.pdfpage import PDFPage
from pdfminer.pdfinterp import PDFPageInterpreter, PDFResourceManager
import pandas as pd
# 从URL中打开PDF文件
def open_pdf_from_url(url):
response = requests.get(url)
with open('temp.pdf', 'wb') as f:
f.write(response.content)
subprocess.Popen(['open', 'temp.pdf']) # 适用于MacOS,Windows和Linux系统请使用不同的命令
# 将PDF文件中的文本数据加载到新列中
def load_text_from_pdf(file_path, df, new_column):
with open(file_path, 'rb') as f:
parser = PDFParser(f)
document = PDFDocument(parser)
rsrcmgr = PDFResourceManager()
device = io.StringIO()
interpreter = PDFPageInterpreter(rsrcmgr, device)
for page in PDFPage.create_pages(document):
interpreter.process_page(page)
text = device.getvalue()
df = df.assign(**{new_column: text})
return df
# 示例代码
df = pd.DataFrame({'URL': ['http://example.com/pdf1.pdf', 'http://example.com/pdf2.pdf']})
open_pdf_from_url(df['URL'][0])
df = load_text_from_pdf('temp.pdf', df, 'Text')
print(df)
以上代码中,open_pdf_from_url()
函数用于从URL中打开PDF文件,load_text_from_pdf()
函数用于将PDF文件中的文本数据加载到新列中。示例代码创建了一个包含PDF文件URL的数据表格,并调用了上述两个函数来处理PDF文件并加载文本数据到新列中。
领取专属 10元无门槛券
手把手带您无忧上云