实用又好用,6 款 Python 特殊文本格式处理库推荐

以下是一些 Python 编写的用来解析和操作特殊文本格式的库,希望对大家有所帮助。

01.Tablib

https://www.oschina.net/p/Tablib

Tablib 是一个用来处理与表格格式数据有关的 Python 库,允许导入、导出、管理表格格式数据,并具备包括切片、动态列、标签和过滤,以及格式化导入和导出等高级功能。

Tablib 支持导出/导入的格式包括:Excel 、JSON 、YAML 、HTML 、TSV 和 CSV ,暂不支持 XML 。

>>> data = tablib.Dataset(headers=[‘First Name‘, ‘Last Name‘, ‘Age‘])

>>> for i in [(‘Kenneth‘, ‘Reitz‘, 22), (‘Bessie‘, ‘Monke‘, 21)]:

...     data.append(i)

>>> print(data.export(‘json‘))

[{"Last Name": "Reitz", "First Name": "Kenneth", "Age": 22}, {"Last Name": "Monke", "First Name": "Bessie", "Age": 21}]

>>> print(data.export(‘yaml‘))

- {Age: 22, First Name: Kenneth, Last Name: Reitz}

- {Age: 21, First Name: Bessie, Last Name: Monke}

>>> data.export(‘xlsx‘)

<censored binary data>

>>> data.export(‘df‘)

First Name Last Name  Age

0    Kenneth     Reitz   22

1     Bessie     Monke   21

02.Openpyxl

https://www.oschina.net/p/openpyxl

Openpyxl 是一个用于读写 Excel 2010 xlsx / xlsm / xltx / xltm 文件的 Python 库。

Openpyxl 为 Python 原生读取/写入 Office Open XML 格式而生,最初是基于 PHPExcel 而开发。

from openpyxl import Workbook

wb = Workbook()

# grab the active worksheet

ws = wb.active

# Data can be assigned directly to cells

ws[‘A1‘] = 42

# Rows can also be appended

ws.append([1, 2, 3])

# Python types will automatically be converted

import datetime

ws[‘A2‘] = datetime.datetime.now()

# Save the file

wb.save("sample.xlsx")

03.unoconv

https://www.oschina.net/p/unoconv

unoconv,全称为 Universal Office Converter ,是一个命令行工具,可在 LibreOffice/OpenOffice 支持的任意文件格式之间进行转换。

unoconv 支持批量转换文档,还可以结合 asciidoc和 docbook2odf / xhtml2odt 来创建 PDF 或 Word(.doc) 文件。

[[email protected] cv]$ make odt pdf html doc

rm -f *.{odt,pdf,html,doc}

asciidoc -b docbook -d article -o resume.xml resume.txt

docbook2odf -f --params generate.meta=0 -o resume.tmp.odt resume.xml

Saved resume.tmp.odt

unoconv -f odt -t template.ott -o resume.odt resume.tmp.odt

unoconv -f pdf -t template.ott -o resume.pdf resume.odt

unoconv -f html -t template.ott -o resume.html resume.odt

unoconv -f doc -t template.ott -o resume.doc resume.odt

04.PyPDF2

https://www.oschina.net/p/pypdf

PyPDF2 是一个纯 Python PDF 库,能够分割、合并、裁剪和转换 PDF 文件页面。它还可以添加自定义数据、查看选项和密码到 PDF 文件。

PyPDF2 可以从 PDF 中检索文本和元数据,也可以将整个文件合并在一起。

from PyPDF2 import PdfFileWriter, PdfFileReader

output = PdfFileWriter()

input1 = PdfFileReader(open("document1.pdf", "rb"))

# print how many pages input1 has:

print "document1.pdf has %d pages." % input1.getNumPages()

# add page 1 from input1 to output document, unchanged

output.addPage(input1.getPage(0))

# add page 2 from input1, but rotated clockwise 90 degrees

output.addPage(input1.getPage(1).rotateClockwise(90))

# add page 3 from input1, rotated the other way:

output.addPage(input1.getPage(2).rotateCounterClockwise(90))

# alt: output.addPage(input1.getPage(2).rotateClockwise(270))

# add page 4 from input1, but first add a watermark from another PDF:

page4 = input1.getPage(3)

watermark = PdfFileReader(open("watermark.pdf", "rb"))

page4.mergePage(watermark.getPage(0))

output.addPage(page4)

# add page 5 from input1, but crop it to half size:

page5 = input1.getPage(4)

page5.mediaBox.upperRight = (

page5.mediaBox.getUpperRight_x() / 2,

page5.mediaBox.getUpperRight_y() / 2

)

output.addPage(page5)

# add some Javascript to launch the print window on opening this PDF.

# the password dialog may prevent the print dialog from being shown,

# comment the the encription lines, if that‘s the case, to try this out

output.addJS("this.print({bUI:true,bSilent:false,bShrinkToFit:true});")

# encrypt your new PDF and add a password

password = "secret"

output.encrypt(password)

# finally, write "output" to document-output.pdf

outputStream = file("PyPDF2-output.pdf", "wb")

output.write(outputStream)

05.Mistune

http://mistune.readthedocs.io/

Mistune 是一个纯 Python 实现的 Markdown 解析器,功能齐全,包括表格、注释、代码块等。

Mistune 据称是所有纯 Python markdown 解析器中速度最快的(基准测试结果)。它在设计时考虑了模块化,以提供一个清晰易用的可扩展的 API 。

import mistune

mistune.markdown(‘I am using **mistune markdown parser**‘)

# output: <p>I am using <strong>mistune markdown parser</strong></p>

06.csvkit

https://www.oschina.net/p/csvkit

csvkit 号称是处理 csv 文件的瑞士军刀,集成了 csvlook , csvcut 和 csvsql 等实用工具,可以以表格形式显示 CSV 文件,轻松选取 CSV 指定列,以及在其上执行 SQL 操作。

csvkit 是一个命令行工具,灵感来自 pdftk 、gdal 和其它类似工具。

原文地址:https://www.cnblogs.com/520lmx/p/10239446.html

时间: 2024-08-15 14:11:18

实用又好用,6 款 Python 特殊文本格式处理库推荐的相关文章

11个实用但你可能不知道的Python程序库

目前,网上已有成千上万个Python包,但几乎没有人能够全部知道它们.单单PyPi上就有超过47000个包列表. 现在,越来越多的数据科学家开始使用Python,虽然他们从pandas,scikit-learn,numpy中获得了不少好处,但我仍想向他们介绍一些年长且非常实用的Python库.在本文中,我将列一些不太知名的库,即使你是经验丰富的Python的开发者,也值得过来一看. 1) delorean Dolorean是一个非常酷的日期/时间库.类似JavaScript的moment,拥有非

转:11个实用但你可能不知道的Python程序库

原文来自于:http://www.techug.com/11-python-libraries-you-might-not-know 目前,网上已有成千上万个Python包,但几乎没有人能够全部知道它们.单单PyPi上就有超过47000个包列表. 现在,越来越多的数据科学家开始使用Python,虽然他们从pandas,scikit-learn,numpy中获得了不少好处,但我仍想向他们介绍一些年长且非常实用的Python库.在本文中,我将列一些不太知名的库,即使你是经验丰富的Python的开发者

创业公司都在使用的3款Python库

Instavest上发表了一篇博文,文章分享了深受创业公司喜爱的3款Python库,该文章在Hacker News上引发了开发者的激烈探讨,如果你也对此感兴趣,不妨移步去看下.笔者将该文简译过来以分享给更多的开发者朋友.译文如下: 1.  Whitenoise 只需简单地修改Config文件,用户就可以按自己的意图来以静态文件方式部署Web应用,而不必依赖于Nginx.亚马逊S3等外部服务.Whitenoise能对打包内容进行压缩并设置高容量的缓存. 遵循WSGI规范的应用需要在部署时对Whit

推荐7 款 Python 工具,让在学习时就就比别人快一步!

想要成为一个程序员,除了学习各种教程之外,熟悉各种已经在生产环境中使用的工具会让你更快的成长! 看到最后有惊喜! 这里有7款python工具,是所有数据专家必不可少的工具.当你对他们有一定了解后,会成为你找工作的绝对优势!下面就了解它们一下吧: IPython IPython是一个基于Python Shell的交互式解释器,但是有比默认Shell强大得多的编辑和交互功能.IPython 提供了如下特性: 更强的交互 shell(基于 Qt 的终端) 一个基于浏览器的记事本,支持代码,纯文本,数学

12款最佳的 WordPress 语法高亮插件推荐

语法高亮工具增强了代码的可读性,美化了代码,让程序员更容易维护.语法高亮提供各种方式由以提高可读性和文本语境,尤其是对于其中可以结束跨越多个页面的代码,以及让开发者自己的程序中查找错误.在这篇文章中,我们选择了12款最佳的 WordPress 语法高亮插件分享给大家,这将有助于你管理,美化和突出你的代码. 您可能感兴趣的相关文章 10大流行的 Metro UI 风格 Bootstrap 主题 推荐35款精致的 CSS3 和 HTML5 网页模板 10款最新流行的 jQuery 插件,值得你收藏

python 保存文本txt格式之总结篇,ANSI,unicode,UTF-8

是否还曾记得如何保存成想要格式,那是多么的折腾,是不是莫名起码就变成ANSI或者UTF-8了 今天我来让大家随心所欲的保存想要的格式 首先说下今天的主角 import codecs 使用他才能保存成想要的格式 工作原理,首先把保存的数据解码程unicode格式,然后对应相应的编码,写入文件即可 文本格式对应表 ANSI---->GBK UTF-8---->UTF-8 Unicode---->UTF-16 只有中间才是对应的,其他都是不对应的,多坑爹 基本操作就是 #!/usr/bin/e

10 款强大的JavaScript图表图形插件推荐

转自:http://www.iteye.com/news/24535 网上有很多用于绘制图表图形的免费JavaScript插件和图表库,这类插件大量出现的原因,一是人们不再依赖于Flash,二是浏览器和精密的计算使呈现实时数据变得容易,而且各种向量绘图技术像VML.SVG和Canvas的发展也使之成为可能. 本文推荐10款强大的绘制图表图形的JavaScript插件.其中一些插件需要主流浏览器的支持,而另外一些经过整合后,也能在不同的平台和老版本的浏览器上工作.有些工具是独立的框架,大部分支持常

Python将JSON格式数据转换为SQL语句以便导入MySQL数据库

前文中我们把网络爬虫爬取的数据保存为JSON格式,但为了能够更方便地处理数据,我们希望把这些数据导入到MySQL数据库中.phpMyadmin可以把MySQL数据库中的数据导出为JSON格式文件,但却不能把JSON格式文件导入到MySQL数据库.为了实现这个目标,可以编写Python脚本将JSON格式数据转换为SQL语句以便导入MySQL数据库. JSON文件tencent.json部分内容: {"recruitNumber": "1", "name&qu

python打印表格式数据,留出正确的空格和段落星号或注释

python打印表格式数据,留出正确的空格,格式化打出 代码如下: def printPicnic(itemsDict,leftWidth,rightWidth): print('PICNIC ITEMS'.center(leftWidth + rightWidth,'-')) for k,v in itemsDict.items(): print(k.ljust(leftWidth,'.')+str(v).rjust(rightWidth)) picnicItems = {'sandwitch