查看原文
其他

大邓 2018-05-24

做文本数据处理,我最怕遇到pdf和docx,一旦遇到了,都是双手开启无影指模式狂按快捷键。按的手抽,按的崩溃。

今天我大师兄查哥搞定了pdf文件的读取,知道此事后异常欣喜。在此基础上,我查找了docx文件的读取实现方式,特发此文与众分享。

安装

代码是运行在python3,需要安装的包:

  • pdfminer3k

  • python-docx

from io import StringIO
from pdfminer.pdfinterp import PDFResourceManager
from pdfminer.pdfinterp import process_pdf
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
import re
import docx

def read_from_pdf(file_path):    """    读取pdf文件,并返回pdf中的文本内容。    :param file_path:  pdf文件路径    :return: 字符串    """    with open(file_path, 'rb') as file:        resource_manager = PDFResourceManager()        return_str = StringIO()        lap_params = LAParams()        device = TextConverter(resource_manager, return_str, laparams=lap_params)        process_pdf(resource_manager, device, file)        device.close()        content = return_str.getvalue()        return_str.close()        return re.sub('\s+', ' ', content)


def read_from_docx(file_path):    """    读取docx文件,并返回其中的文本内容    :param file_path: docx文件路径    :return: docx中的文本内容    """    texts = ''    doc = docx.Document(file_path)    for para in doc.paragraphs:        texts += para.text    
   return texts


print(read_from_pdf('test.pdf'))
print(read_from_docx('test.docx'))

运行结果可见下图,这是我在自己电脑上成功读取pdf,从此手指再也不用抽筋了,开心!

 

如果您还有疑问,可长按下方小程序码向大邓提问,大邓知无不言言无不尽!


往期文章

100G Python学习资料:从入门到精通! 免费下载

为什么你要为2019,而不是2018做计划? 

机器学习|八大步骤解决90%的NLP问题

2017年度15个最好的数据科学领域Python库 

如何从文本中提取特征信息?  

初识K-means算法

对于中文,nltk能做哪些事情 

留在网上的每个字,都在泄露你的身份

优雅简洁的列表推导式

Get小技巧等分列表

如何对数据进行各种排序?

【视频讲解】Scrapy递归抓取简书用户信息

美团商家信息采集神器 

用chardect库解决网页乱码问题

gevent:异步理论与实战  

轻盈高效的异步访问库grequests库

selenium驱动器配置详解

爬虫神器PyQuery的使用方法

简易SQLite3数据库学习

Python通过字符串调用函数

Python圈中的符号计算库-Sympy

Python中处理日期时间库的使用方法 




    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存