python之四种方式读取文档

第一种:读取纯文本

1:代码

# coding=utf-8
"""
@author: jiajiknag
程序功能: 读取txt文件
"""
# 导包
from bs4 import BeautifulSoup
from urllib.request import urlopen
# 要读取文档
texPage= urlopen("http://www.pythonscraping.com/pages/warandpeace/chapter1-ru.txt")
# 编码输出
print(str(texPage.read(),'utf-8'))

2:结果

第二种:读取csv文件

1:代码

# coding=utf-8
"""
@author: jiajiknag
程序功能: 读取csv文件
"""
from urllib.request import urlopen
from io import StringIO
import csv
# csv文件
data = urlopen("http://pythonscraping.com/files/MontyPythonAlbums.csv").read().decode('ascii', 'ignore')
# 封装成StringIO对象
dataFile = StringIO(data)
# csvReader = csv.reader(dataFile)
# 读取
dictReader = csv.DictReader(dataFile)
# 输出
print(dictReader.fieldnames)for row in dictReader:print(row)#print("\nThe album \"" + row[0] + "\" was released in " + str(row[1]))

2:结果

第三种:读取PDF文件

1:代码

# coding=utf-8
"""
@author: jiajiknag
程序功能: 读取PDF文件注释:readPDF函数最大的好处是,如果你的PDF文件在电脑里,你就可以直接把urlopen返回的对象pdfFile替换成普通的open()文件对象:
pdfFile = open("../pages/warandpeace/chapter1.pdf", 'rb')"""
from urllib.request import urlopen
from pdfminer.pdfinterp import PDFResourceManager,process_pdf
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from io import StringIO
from io import open# 创建一个读取pdf函数
def readPDF(pdfFile):# 创建对象# 解析PDFrsrcmgr = PDFResourceManager()# 创建StringIO对象retstr = StringIO()laparams = LAParams()device = TextConverter(rsrcmgr, retstr,laparams=laparams)process_pdf(rsrcmgr, device,pdfFile)# 关闭device.close()# 利用restr.getvalue()转换为文件对象content = retstr.getvalue()# 转换文成之后关闭retstr.close()pdfFile = urlopen("http://pythonscraping.com/pages/warandpeace/chapter1.pdf")
# 读取文件
outputString = readPDF(pdfFile)
# 输出
print(outputString)
# 关闭
pdfFile.close()

2:结果

第四种:读取word文件和.docx文件

1:代码

# coding=utf-8
"""
@author: jiajiknag
程序功能:
"""
from zipfile import ZipFile
from urllib.request import urlopen
from io import BytesIO
from bs4 import BeautifulSoup
"""
这段代码把一个远程Word文档读成一个二进制文件对象(BytesIO与本章之前用的
StringIO类似),再用Python的标准库zipfile解压(所有的.docx文件为了节省空间都
进行过压缩),然后读取这个解压文件,就变成XML了。
"""wordFile = urlopen("http://pythonscraping.com/pages/AWordDocument.docx").read()
wordFile = BytesIO(wordFile)
document = ZipFile(wordFile)
xml_content = document.read('word/document.xml')wordobj = BeautifulSoup(xml_content.decode('utf-8'))
textStrings = wordobj.findAll("w:t")for textElem in textStrings:closeTag = ""try:style = textElem.parent.previousSibling.find("w:pstyle")if style is not None and style["w:val"] == "Title":print("<h1>")closeTag = "</h1>"except AttributeError:# 不打印标签passprint(textElem.text)print(closeTag)

2:结果

python之四种方式读取文档相关推荐

  1. 《python网络数据采集》读后感 第六章:读取文档

    1.文档编码: 文档编码是一种告诉程序--无论是计算机的操作系统还是 Python 代码--读取文档的规 则.文档编码的方式通常可以根据文件的扩展名进行判断,虽然文件扩展名并不是由编码 确定的,而是由 ...

  2. 扫描二维码读取文档_使用深度学习读取和分类扫描的文档

    扫描二维码读取文档 To many people's dismay, there is still a giant wealth of paper documents floating out the ...

  3. PyPDF2--如何使用python操作你的PDF文档

    PyPDF2–如何使用python操作你的PDF文档 前言 大家好!最近想操作一下PDF文档,总是收费,于是浅尝辄止地了解了一下python当中的PyPDF2这个库.借助本篇博客总结了一下个人所学到的 ...

  4. 如何使计算机为您读取文档

    Since the beginning of the computer age, people have always enjoyed making computers talk to them. T ...

  5. 悉数11种主流NoSQL文档型数据库

    悉数11种主流NoSQL文档型数据库 文档型数据库是NoSQL中非常重要的一个分支,它主要用来存储.索引并管理面向文档的数据或者类似的半结构化数据.顾名思义,文档型数据库(面向文档数据库)的关键核心概 ...

  6. python处理word或者pdf文件_利用python程序生成word和PDF文档的方法

    一.程序导出word文档的方法 将web/html内容导出为world文档,再java中有很多解决方案,比如使用Jacob.Apache POI.Java2Word.iText等各种方式,以及使用fr ...

  7. Python批量处理lrmx格式文档内指定内容

    Python批量处理lrmx格式文档内指定内容 实现代码: import glob import random xing = [ '赵', '钱', '孙', '李', '周', '吴', '郑', ...

  8. ABBYY FastML:一种用于大型文档流处理的客户端机器学习新方案。

    我们的客户经常要处理大都非常相似却又不尽相同的大型文档流.鉴于每年处理如此之多的信息日益显得繁琐,我们提出了一个将此任务高精度自动化的技术解决方案. 不妨设想一下,有来自数百家合同方的数万张发票等待处 ...

  9. python处理word_python处理word文档

    来源 https://zhuanlan.zhihu.com/p/21643475 本系列文章将介绍如何使用Python读写主要Microsoft Office文档(Word,Excel和PowerPo ...

最新文章

  1. 《CCNP SWITCH 300-115认证考试指南》——第1章 企业园区网络的设计
  2. Tomcat发布Web项目的两种方式
  3. python---django中form组件(1)简单使用和字段了解
  4. Framework7——基础工具类
  5. Java零基础学习021-API进阶第二天
  6. [Android 测试] 性能回归测试之 MonkeyRunner使用、插件扩展、结合批处理
  7. oracle 18c suse,Installing Oracle Database 18c Using RPM Packages
  8. 谷歌浏览器如何设置internet选项
  9. Nginx反向代理实现负载均衡配置图解
  10. 文本相似度计算(中英文)详解实战
  11. 用shell打印正三角形_用shell命令绘制三角形
  12. oracle10g lsnrctl,Oracle 10g Lsnrctl没有反映 无法连接数据库
  13. 形态学运用(去除图像噪点,提取水平线,垂直线)--OPenCV08
  14. 【转】Kbps、KB、Mbps单位换算
  15. Hive经典面试题——级联求和(访客访问统计报表)
  16. 互联网日报 | 5月14日 星期五 | “辣条一哥”卫龙将赴港上市;B站付费用户破2000万;京东物流预计5月28日在港上市...
  17. webstorm快捷键问题,求大神赐教
  18. 大数据专业毕业论文选题推荐
  19. 后摩尔定律时代的计算机性能提升之道
  20. 学会使用x2struct(json -> struct)

热门文章

  1. linux无法删除用户的组,Linux无法使用userdel删除用户和组的解决办法
  2. winxp文件、打印机共享故障排除方法及“操作无法完成.键入的打印机名不正确,或者指定的打印机没有连接到服务器上
  3. Windows下配置NoVNC过程(支持一拖多)
  4. 荣耀智慧屏有鸿蒙系统,荣耀智慧屏核心价值是鸿蒙系统智慧场景吧,小米说我也将会有了...
  5. 设计模式-创建型模式-抽象工厂模式
  6. 表格单元格换行的问题
  7. 原来手游里的游戏模型制作这么简单,我也能拿高薪啦!你还在等?
  8. O(∩_∩)O哈哈~
  9. CentOS7 安装配置FTP服务器详解
  10. python绘制立体心形折纸图解_PS制作超漂亮的立体的心形折纸效果