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

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')

>>> data.export('df')

First Name Last Name Age

0 Kenneth Reitz 22

1 Bessie Monke 21

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")

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

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

[dag@moria 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

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)

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

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

import mistune

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

# output:

I am using mistune markdown parser

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

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

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

  1. python ocr识别库_轻松识别文字,这款Python OCR库支持超过80种语言

    OCR是什么? 有一款软件叫扫描全能王,想必一些小伙伴听过,这是一个OCR集成软件,可以将图像内容扫描成文字. 所以说,OCR作用是对文本资料的图像文件进行分析识别处理,获取文字及版面信息. OCR的 ...

  2. python网站框架下载_最受欢迎的7款Python开源框架总结,忍不住收藏了~

    封图用Python之父Guido van Rossum镇楼,妥妥滴~ 今天是周一,也就是漫漫5天工作日的第一天,所以小编决定省略鸡汤,直接上干货,为大家打满鸡血.精选7个在GitHub等开源网站中最欢 ...

  3. python大神作品_掌握了这24个顶级Python库,你就是大神!

    全文共11815字,预计学习时长24分钟 Python有以下三个特点: · 易用性和灵活性 · 全行业高接受度:Python无疑是业界最流行的数据科学语言 · 用于数据科学的Python库的数量优势 ...

  4. python文本编辑器下载_海龟编辑器官方下载|海龟编辑器(Python编辑器)下载 v1.3.4 官方版 - 绿点软件站...

    编程软件,积木和代码一键转化,学起来简单有趣,可以让孩子们搭一搭积木就轻松写出Python代码,既可以提高孩子对编程的学习兴趣,又可以降低小朋友们学习Python编程的门槛,海龟编辑器扩展功能强大,支 ...

  5. python的顶级库_三大用于数据科学的顶级Python库

    Python有许多吸引力,如效率,代码可读性和速度,使其成为数据科学爱好者的首选编程语言.Python通常是希望升级其应用程序功能的数据科学家和机器学习专家的首选. 由于其广泛的用途,Python拥有 ...

  6. alert获取输入框内容_实用开源:Web 聊天工具的富文本输入框

    最近折腾 Websocket,打算开发一个聊天室应用练练手.在应用开发的过程中发现可以插入 emoji ,粘贴图片的富文本输入框其实蕴含着许多有趣的知识,于是便打算记录下来和大家分享. 仓库地址:ch ...

  7. python修改ip地址_怎么更改电脑ip地址?基于 Python 爬虫的ip修改设计与实现

    怎么更改电脑ip地址?基于 Python 爬虫原理的篮球鞋选择程序的设计与实现ip修改 [摘 要]伴随着篮球鞋工艺的进步及产业升级,多类型多种类的篮球鞋出现在大众的视野当中.与此同时,消费者对篮球鞋的 ...

  8. python中集合运算_入门 | 一文带你了解Python集合与基本的集合运算

    原标题:入门 | 一文带你了解Python集合与基本的集合运算 选自DataCamp 作者:Michael Galarnyk 参与:Geek Ai.思源 一般我们熟悉 Python 中列表.元组及字典 ...

  9. python 进程生命周期_计算客户生命周期价值的python解决方案

    python 进程生命周期 By Lisa Cohen, Zhining Deng, Shijing Fang, and Ron Sielinski 由丽莎·科恩,志宁邓,石井方和罗恩Sielinsk ...

最新文章

  1. Windows 8 Metro App学习笔记(九)—磁砖
  2. 《大道至简》第六章读后感
  3. Spring Cloud 使用 FeignClient 启动报错
  4. 未处理异常和C++异常——Windows核心编程学习手札之二十五
  5. `>>`(有符号右移) 和 `>>>`(无符号右移)的区别
  6. maya室内模型_C4d和3dmax、maya相比有什么优势?
  7. 树莓派升级Linux内核,树莓派编译升级内核
  8. python 读取并显示图片,用plt 同时显示多幅图像
  9. 避免jQuery名字冲突--noConflict()方法
  10. exe文件打不开应该怎么办?
  11. C#.NET开源反编译工具ILSpy下载
  12. 2021荣耀秋招笔试代码题
  13. oracle修改主机名造成启动错误
  14. 11年艺术学习“转投”数学,他出版首本TensorFlow中文教材,成为蚂蚁金服技术大军一员
  15. sdio tf卡基础知识总结
  16. gis与一般计算机应用系统有哪些异同,gis概论各章练习题..doc
  17. IDEA连接mysql后,schemas中无表格
  18. GNS3的RIP协议的动态路由配置
  19. 位图文件(BMP)格式分析
  20. 极限竞速地平线4 没声音_极限竞速:地平线是汽车爱好者的食物

热门文章

  1. Eclipse配置国内镜像源
  2. 北京林业大学计算机科学与技术考研科目,北京林业大学计算机科学与技术考研经验-北林信息学院考研辅导班...
  3. SpringBoot项目部分文件解析、数据库连接(idea)
  4. Java计算两日期相差天数源码
  5. IDEA for win 常用快捷键
  6. ssh oracle id native,hibernate解决oracle的id自增?
  7. iOS vuforia 学习钻研(一)
  8. 工厂模式之消除switch/case语句
  9. 菜鸟的成长记录--linux 通配符和特殊字符集合的使用
  10. iMindMate- A new mind mapping software.