【问题标题】:Open, save and extract text PDFs from links in python dataframe从 python 数据框中的链接打开、保存和提取文本 PDF
【发布时间】:2021-11-22 09:45:33
【问题描述】:

我想遍历保存在 python 数据框中的 PDF 链接。目标是打开 PDF 链接,保存 PDF 并从中提取文本,然后将每个对应链接的文本保存在新列中。

数据框如下所示:

    URL
0   https://westafricatradehub.com/wp-content/uploads/2021/07/RFA-WATIH-1295_Senegal-RMNCAH-Activity_English-Version.pdf
1   https://westafricatradehub.com/wp-content/uploads/2021/07/RFA-WATIH-1295_Activit%C3%A9-RMNCAH-S%C3%A9n%C3%A9gal_Version-Fran%C3%A7aise.pdf
2   https://westafricatradehub.com/wp-content/uploads/2021/07/Attachment-2_Full-Application-Template_Senegal-RMNCAH-Activity_English-Version.docx
3   https://westafricatradehub.com/wp-content/uploads/2021/07/Pi%C3%A8ce-Jointe-2_Mod%C3%A8le-de-Demande-Complet_Activit%C3%A9-RMNCAH-S%C3%A9n%C3%A9gal_Version-Fran%C3%A7aise.docx
4   https://westafricatradehub.com/wp-content/uploads/2021/07/Attachment-3_Trade-Hub-Performance-Indicators-Table.xlsx
5   https://westafricatradehub.com/wp-content/uploads/2021/07/Attachment-10_Project-Budget-Template-RMNCAH.xlsx
6   https://westafricatradehub.com/wp-content/uploads/2021/08/Senegal-Health-RFA-Webinar-QA.pdf
7   https://westafricatradehub.com/wp-content/uploads/2021/02/APS-WATIH-1021_Catalytic-Business-Concepts-Round-2.pdf
8   https://westafricatradehub.com/wp-content/uploads/2021/02/APS-WATIH-1021_Concepts-d%E2%80%99Affaires-Catalytiques-2ieme-Tour.pdf
9   https://westafricatradehub.com/wp-content/uploads/2021/06/APS-WATIH-1247_Research-Development-Round-2.pdf

我可以为一个链接做到这一点,但不能为整个数据框做到这一点

import urllib.request
pdf_link = "https://westafricatradehub.com/wp-content/uploads/2021/07/RFA-WATIH-1295_Senegal-RMNCAH-Activity_English-Version.pdf"

def download_file(download_url, filename):
    response = urllib.request.urlopen(download_url)    
    file = open(filename + ".pdf", 'wb')
    file.write(response.read())
    file.close()
 
download_file(pdf_link, "Test")

#Code to extract text from PDF 

import textract
text = textract.process("/Users/fze/Dropbox (LCG Team)/LCG Folder (1)/BD Scan Automation/Python codes/Test.PDF")
print(text)

谢谢!

【问题讨论】:

    标签: python dataframe pdf hyperlink


    【解决方案1】:

    给你:

    import urllib.request
    import textract
    
    def download_file(download_url, filename):
        response = urllib.request.urlopen(download_url)    
        file = open(filename + ".pdf", 'wb')
        file.write(response.read())
        file.close()
    
    df['Text']=''
    
    for i in range(df.shape[0]):
        pdf_link=df.iloc[i,0]
        download_file(pdf_link, f"pdf_{i}")
        text = textract.process(f"/Users/fze/Dropbox (LCG Team)/LCG Folder (1)/BD Scan Automation/Python codes/pdf_{i}.PDF")
        df['Text'][i]=text
    

    【讨论】:

    • 嘿,非常感谢!!!但我收到以下错误: ShellError: The command pdf2txt.py /Users/fatimazahraelmansouri/pdf_2.PDF failed with exit code 1 ------------- stdout ------------- b''- ------------ stderr ------------- 任何想法为什么?
    • 我想我明白了!第三个链接是 docx 而不是 pdf !任何想法如何从 docx 文档中提取文本?再次感谢 !!!你非常有帮助
    • 文档已经是文本文档,所以应该很容易。检查python-docx.readthedocs.io/en/latest
    • 谢谢!这帮助我在一个非常重要的专业项目中取得了巨大的进步。非常感谢像你一样愿意帮助的人!你才是真正的OG!!
    • 你能解决这个问题吗? stackoverflow.com/questions/69395489/…
    猜你喜欢
    • 2012-09-25
    • 1970-01-01
    • 1970-01-01
    • 2012-09-25
    • 2017-08-26
    • 2021-05-19
    • 1970-01-01
    • 2020-11-09
    • 2015-02-28
    相关资源
    最近更新 更多