python文本分析和提取_使用Python和Pypdf2从pdf提取文本

我想使用Python和PYPDF包从pdf文件中提取文本。这是我的pdf文件,这是我的代码:

importPyPDF2opened_pdf=PyPDF2.PdfFileReader('test.pdf','rb')p=opened_pdf.getPage(0)p_text=p.extractText()# extract data line by lineP_lines=p_text.splitlines()printP_lines

我的问题是P_lines无法逐行提取数据并导致一个巨大的字符串。我想逐行提取文本进行分析。关于如何改进它的任何建议?谢谢!这是代码返回的字符串:

[u'符合29 CFR 1910.1200(i)和附录D的化学品的成分信息可从供应商处获得。材料安全数据表(MSDS)**信息基于最大的浓缩潜能,因此总量可能超过100%*总水量来源可能包括淡水,采出水和/或循环水0.01271%72.00%7732-18-5水0.00071%4.00%1310-73-2氢氧化钠0.00424%24.00%533-74-4DazomatBiocidePumpcoPlexcide 24L0。 00828%75.00%有机膦酸盐0.00276%25.00%67-56-1甲醇阻垢剂PumpcoPlexaid 6730.00807%30.00%7732-18-5水0.00188%7.00%聚乙氧基化醇表面活性剂0.00753%28.00%9003-06-9铵盐0.00941 %35.00%64742-47-8石油馏出物减摩剂PumpcoPlexslick 9210.05029%60.00%7732-18-5水0.03353%40。00%7647-01-0氯化氢盐酸泵HCL9.84261%100.00%14808-60-7结晶二氧化硅支撑剂泵浦沙子和90.01799%100.00%7732-18-5水成分最大成分HF液体中的浓度(质量%)**最大成分浓度产品编号(CAS#)用途供应商商品名水力压裂液成分:2,608,032总水量(gal)*:7,595真垂直深度(TVD):天然气生产类型:NAD27长/宽投影:32.558525纬度:-97.215242纬度​​:极油量Gieser单位编号:XTO EnergyOperator名称:42-439-35084API编号:TarrantCounty:Texas状态:12/10/2010破裂日期水力压裂液产品组分信息披露']00%7732-18-5WaterComments HF流体中的最大成分浓度(质量%)**化学添加剂中的最大成分浓度(质量%)**化学摘要服务编号(CAS#)成分目的供应商商品名称液压压裂液成分:2,608,032总水量(加仑)*:7,深度(TVD):天然气生产类型:NAD27长/宽投影:32.558525纬度:-97.215242经度:Ole Gieser Unit D 6H井名称和编号:XTO EnergyOperator Name:42-439-35084API Number:TarrantCounty:TexasState:12/10 / 2010Fracture DateHydraulic压裂液产品成分信息披露']00%7732-18-5WaterComments HF流体中的最大成分浓度(质量%)**化学添加剂中的最大成分浓度(质量%)**化学摘要服务编号(CAS#)成分目的供应商商品名称液压压裂液成分:2,608,032总水量(加仑)*:7,7深度(TVD):天然气生产类型:NAD27长/宽投影:32.558525纬度:-97.215242经度:Ole Gieser Unit D 6H井名称和编号:XTO EnergyOperator Name:42-439-35084API Number:TarrantCounty:TexasState:12/10 / 2010Fracture DateHydraulic压裂液产品成分信息披露']032总水量(gal)*:7,595真垂直深度(TVD):天然气生产类型:NAD27长/宽投影:32.558525纬度:-97.215242经度:Ole Gieser Unit D 6H井名称和编号:XTO EnergyOperator Name:42-439-35084API Number :TarrantCounty:Texas状态:12/10/2010破裂日期水力压裂液产品成分信息披露']032总水量(gal)*:7,595真垂直深度(TVD):天然气生产类型:NAD27长/宽投影:32.558525纬度:-97.215242经度:Ole Gieser Unit D 6H井名称和编号:XTO EnergyOperator Name:42-439-35084API Number :TarrantCounty:Texas状态:12/10/2010破裂日期水力压裂液产品成分信息披露']

该文件的屏幕截图:SaHVn.png

解决方案

frompdfminer.pdfinterpimportPDFResourceManager,PDFPageInterpreterfrompdfminer.converterimportTextConverterfrompdfminer.layoutimportLAParamsfrompdfminer.pdfpageimportPDFPagefromioimportStringIOdefconvert_pdf_to_txt(path):rsrcmgr=PDFResourceManager()retstr=StringIO()codec='utf-8'laparams=LAParams()device=TextConverter(rsrcmgr,retstr,codec=codec,laparams=laparams)fp=file(path,'rb')interpreter=PDFPageInterpreter(rsrcmgr,device)password=""maxpages=0caching=Truepagenos=set()forpageinPDFPage.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()returntextprint(convert_pdf_to_txt('test.pdf').strip().split('\n\n'))

输出量

水力压裂液产品成分信息披露

破裂日期状态:县:API编号:操作员名称:井名和编号:经度:纬度:长/纬投影:生产类型:真实垂直深度(TVD):总水量(gal)*:

12/10/2010 Texas Tarrant 42-439-35084 XTO Energy Ole Gieser Unit D 6H -97.215242 32.558525 NAD27 Gas 7,595 2,608,032

水力压裂液成分:

商品名

供应商

目的

配料

化学摘要服务编号

(CAS号)

最大成分

浓度

添加剂(按质量计)**

评论

最大成分

浓度

HF流体中(按质量计)**

水砂盐酸盐

Pumpco Pumpco

支撑剂盐酸

Plexslick 921

Pumpco

减摩器

Plexaid 673

Pumpco

阻垢剂

杀虫剂24L

Pumpco

杀菌剂

结晶硅

氯化氢水

石油馏分铵盐聚乙氧基化醇表面活性剂水

甲基酒精有机膦酸盐

Dazomat氢氧化钠水

7732-18-5 14808-60-7

7647-01-0 7732-18-5

64742-47-8 9003-06-9

7732-18-5

67-56-1

533-74-4 1310-73-2 7732-18-5

100.00 100.00

90.01799 9.84261

40.00 60.00

35.00 28.00 7.00 30.00

25.00 75.00

24.00 4.00 72.00

0.03353 0.05029

0.00941 0.00753 0.00188 0.00807

0.00276 0.00828

0.00424 0.00071 0.01271

总水量来源可能包括淡水,采出水和/或循环水**信息是基于最大的浓缩潜力,因此总量可能超过100

符合29 CFR 1910.1200(i)和附录D要求的化学品的成分信息可从供应商材料安全数据表(MSDS)获得

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值