(给机器学习算法与Python学习加星标,提升AI技能)

本文由开源中国(oschina2013)整理

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

01

Tablib

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

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

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

 1>>> data = tablib.Dataset(headers=[ First Name ,  Last Name ,  Age ])2>>> for i in [( Kenneth ,  Reitz , 22), ( Bessie ,  Monke , 21)]:3...     data.append(i)456>>> print(data.export( json ))7[{"Last Name": "Reitz", "First Name": "Kenneth", "Age": 22}, {"Last Name": "Monke", "First Name": "Bessie", "Age": 21}]89
10>>> print(data.export( yaml ))
11- {Age: 22, First Name: Kenneth, Last Name: Reitz}
12- {Age: 21, First Name: Bessie, Last Name: Monke}
13
14
15>>> data.export( xlsx )
16<censored binary data>
17
18
19>>> data.export( df )
20  First Name Last Name  Age
210    Kenneth     Reitz   22
221     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 而开发。

 1from openpyxl import Workbook2wb = Workbook()345# grab the active worksheet6ws = wb.active789# Data can be assigned directly to cells
10ws[ A1 ] = 42
11
12
13# Rows can also be appended
14ws.append([1, 2, 3])
15
16
17# Python types will automatically be converted
18import datetime
19ws[ A2 ] = datetime.datetime.now()
20
21
22# Save the file
23wb.save("sample.xlsx")

03

unoconv

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

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

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

1[dag@moria cv]$ make odt pdf html doc
2rm -f *.{odt,pdf,html,doc}
3asciidoc -b docbook -d article -o resume.xml resume.txt
4docbook2odf -f --params generate.meta=0 -o resume.tmp.odt resume.xml
5Saved resume.tmp.odt
6unoconv -f odt -t template.ott -o resume.odt resume.tmp.odt
7unoconv -f pdf -t template.ott -o resume.pdf resume.odt
8unoconv -f html -t template.ott -o resume.html resume.odt
9unoconv -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 中检索文本和元数据,也可以将整个文件合并在一起。

 1from PyPDF2 import PdfFileWriter, PdfFileReader234output = PdfFileWriter()5input1 = PdfFileReader(open("document1.pdf", "rb"))678# print how many pages input1 has:9print "document1.pdf has %d pages." % input1.getNumPages()
10
11
12# add page 1 from input1 to output document, unchanged
13output.addPage(input1.getPage(0))
14
15
16# add page 2 from input1, but rotated clockwise 90 degrees
17output.addPage(input1.getPage(1).rotateClockwise(90))
18
19
20# add page 3 from input1, rotated the other way:
21output.addPage(input1.getPage(2).rotateCounterClockwise(90))
22# alt: output.addPage(input1.getPage(2).rotateClockwise(270))
23
24
25# add page 4 from input1, but first add a watermark from another PDF:
26page4 = input1.getPage(3)
27watermark = PdfFileReader(open("watermark.pdf", "rb"))
28page4.mergePage(watermark.getPage(0))
29output.addPage(page4)
30
31
32
33
34# add page 5 from input1, but crop it to half size:
35page5 = input1.getPage(4)
36page5.mediaBox.upperRight = (
37    page5.mediaBox.getUpperRight_x() / 2,
38    page5.mediaBox.getUpperRight_y() / 2
39)
40output.addPage(page5)
41
42
43# add some Javascript to launch the print window on opening this PDF.
44# the password dialog may prevent the print dialog from being shown,
45# comment the the encription lines, if that s the case, to try this out
46output.addJS("this.print({bUI:true,bSilent:false,bShrinkToFit:true});")
47
48
49# encrypt your new PDF and add a password
50password = "secret"
51output.encrypt(password)
52
53
54# finally, write "output" to document-output.pdf
55outputStream = file("PyPDF2-output.pdf", "wb")
56output.write(outputStream)

05

Mistune

http://mistune.readthedocs.io/

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

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

1import mistune
2
3
4mistune.markdown( I am using **mistune markdown parser** )
5# 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 和其它类似工具。

推荐阅读
经历过这三个NLP项目的洗礼,成功拿下NLP算法Offer!
10 款好用到爆的 Vim 插件,你用过几个?
【伯克利】400 页 PPT 带你丝滑入门机器学习,知识点全面覆盖
【收藏】万字综述,核心开发者全面解读PyTorch内部机制Python 入门神图

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

  1. io python 读取pdf_实用又好用,6 款 Python 特殊文本格式处理库推荐

    以下是一些 Python 编写的用来解析和操作特殊文本格式的库,希望对大家有所帮助. 01.Tablib https://www.oschina.net/p/Tablib Tablib 是一个用来处理 ...

  2. 特别实用的 6 款 Python 特殊文本格式处理库推荐

    以下是一些 Python 编写的用来解析和操作特殊文本格式的库,希望对大家有所帮助. 01.Tablib https://www.oschina.net/p/Tablib Tablib 是一个用来处理 ...

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

    以下是一些 Python 编写的用来解析和操作特殊文本格式的库,希望对大家有所帮助. Tablib 是一个用来处理与表格格式数据有关的 Python 库,允许导入.导出.管理表格格式数据,并具备包括切 ...

  4. 16款优秀的Vue UI组件库推荐

    16款优秀的Vue UI组件库推荐 Vue 是一个轻巧.高性能.可组件化的MVVM库,API简洁明了,上手快.从Vue推出以来,得到众多Web开发者的认可. 在公司的Web前端项目开发中,多个项目采用 ...

  5. python处理文本格式_python linecache 处理固定格式文本数据的方法

    小程序大功能 对一批报文要处理要处理里面的得分,发现python linecache ,特记录如下. #!/usr/bin/env python # -*- coding: utf-8 -*- ''' ...

  6. python写音乐_Python国产库推荐之musicpy:让你用代码来写音乐

    你想过用代码来写音乐吗?这里给大家介绍一个国人写的库 musicpy,让你用简洁的语法通过乐理逻辑写出优美的音乐. 这个库可以让你用非常简洁的语法,来表达一段音乐的音符,节奏等等信息,并且可以简单地输 ...

  7. 你知道这些吗?8款优秀的Vue UI组件库推荐,都能打开呦

    Vue 是一个轻巧.高性能.可组件化的MVVM库,API简洁明了,上手快.从Vue推出以来,得到众多Web开发者的认可. 在公司的Web前端项目开发中,多个项目采用基于Vue的UI组件框架开发,并投入 ...

  8. Python 可视化文本的情绪库:PyPlutchik

    大家好,越来越多的社交网络学者, 为测量情绪, 基于心理学家 Robert Plutchik 提出的模型(通常简称为"Plutchik轮",人类的情绪一共有8大类)制作了大量的情绪 ...

  9. python输出文本格式的内容最常使用的引号是什么_python的print函数_无引号、单引号、双引号、三引号用法...

    print()函数的用法有以下几种:单亲匹马--不带引号:搭配单引号:搭配双引号:搭配三引号. 无引号 print(520)虽然只是一个简单的print,但背后,确实python代码帮你做了这样的一些 ...

最新文章

  1. php中的核心函数有哪些,PHP内核探索:函数的分类
  2. ML 02、监督学习
  3. Jsp(Java Server Pages)简介
  4. c# load xml 中文报错
  5. Combinations
  6. git提交输入密码_git提交到自己的服务器,每次都要输入密码
  7. Git基础 1 ---- 版本控制系统的介绍
  8. Android Gradle 自定义Task 详解
  9. Vue.JS实现垂直方向展开、收缩不定高度模块的JS组件
  10. One2One主键关联的实现
  11. zzz,zzz,zz9_ZZZ的完整形式是什么?
  12. ASP.NET Core 2.1:将VMD.RESTApiResponseWrapper.Core集成到REST API应用程序
  13. [合作] 钢结构结构健康监测研究与实验
  14. html 自动关机程序,Windows 自动关机/定时关机 命令 shuntdown
  15. homestead修改php版本
  16. 用JAVA做一个简单的画图软件
  17. 圣诞帽php,微信小程序“圣诞帽”的实现方法
  18. 国内页游移植手游产品排名:现状和未来
  19. c++基础三 (数组——指针)
  20. 20款免费备份文件软件

热门文章

  1. 智慧畜牧养殖管理系统
  2. 初学Linux,了解基本命令
  3. (0091)iOS开发itms-services协议安装IPA安装包
  4. Linux下面如何运行.sh文件?
  5. 2019年TI杯 简易电路特性测试仪 制作过程(4)——程序总体分析 20/04/20
  6. TypeError: Cannot read properties of null (reading ‘indexOf‘)
  7. 引用请注明出处和转载请注明出处?我的看法
  8. 2021年资料员-岗位技能(资料员)考试题库及资料员-岗位技能(资料员)证考试
  9. smtp协议——邮件发送
  10. 可穿戴设备:越来越清晰的苹果iWatch