python - 无法使我的脚本以所需格式打印输出
问题描述
我正在尝试从 pdf 文件中提取特定部分的文本。我已经使用PyPDF2
图书馆来做到这一点。但是,当我执行下面的脚本时,我可以看到我想要抓取的内容正在笨拙地打印在控制台中。
到目前为止,我已经写过:
import io
import PyPDF2
import requests
URL = 'http://www.ct.gov/hix/lib/hix/CT_DSG_-12132014_version_1.2_%28with_clarifications%29.pdf'
res = requests.get(URL)
f = io.BytesIO(res.content)
reader = PyPDF2.PdfFileReader(f)
contents = reader.getPage(0).extractText()
print(contents)
我得到的输出:
ACCESSHEALTHCTConnecticutAllPayersClaimsDatabaseDATASUBMISSIONGUIDE
December5,2013
Version1.2(withclarifications)
我希望获取的输出如下:
ACCESS HEALTH CT
Connecticut All Payers Claims Database
DATA SUBMISSION GUIDE
December 5, 2013
Version 1.2 (with clarifications)
解决方案
这是 pyPDF2 的问题,原因是 PyPDF 不读取换行符。或者你可以pdftotext
简单而干净,您可以遍历页面或提取一页。
import io
import requests
import pdftotext
URL = 'http://www.ct.gov/hix/lib/hix/CT_DSG_-12132014_version_1.2_%28with_clarifications%29.pdf'
res = requests.get(URL)
f = io.BytesIO(res.content)
pdf = pdftotext.PDF(f)
print(pdf[0])
# Iterate over all the pages
# for page in pdf:
# print(page)
推荐阅读
- reporting-services - SSRS 2016 报告生成器显示 VPN 访问问题
- android - 如何通过动态调整大小的应用栏保持偏移?
- c# - 加密 UWP 应用中的文件
- javascript - JavaScript传参错误,点击事件传中所有参数
- javascript - 编写一个函数,将一个句子作为输入并输出一个排序后的句子。(答案应该对任何给定的输入都有效。)
- flutter - 如何将图像分配给Circle avatar -flutter
- reactjs - 使用 DataTables 的 React-Redux - 需要拉取更新的状态
- jquery - 使用 jQuery animate() 增加/减少当前填充
- sql - 基本 SQL - 添加年收入数字
- css - 如何将 flexbox/grid 列固定到页面的右上角?