特别实用的 6 款 Python 特殊文本格式处理库推荐
以下是一些 Python 編寫的用來解析和操作特殊文本格式的庫,希望對大家有所幫助。
01.Tablib
https://www.oschina.net/p/Tablib
Tablib 是一個用來處理與表格格式數據有關的 Python 庫,允許導入、導出、管理表格格式數據,并具備包括切片、動態(tài)列、標簽和過濾,以及格式化導入和導出等高級功能。
Tablib 支持導出/導入的格式包括:Excel 、JSON 、YAML 、HTML 、TSV 和 CSV ,暫不支持 XML 。
''' 遇到問題沒人解答?小編創(chuàng)建了一個Python學習交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助, 群里還有不錯的視頻學習教程和PDF電子書! ''' >>> 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 Age0 Kenneth Reitz 221 Bessie Monke 2102.Openpyxl
https://www.oschina.net/p/openpyxl
Openpyxl 是一個用于讀寫 Excel 2010 xlsx / xlsm / xltx / xltm 文件的 Python 庫。
Openpyxl 為 Python 原生讀取/寫入 Office Open XML 格式而生,最初是基于 PHPExcel 而開發(fā)。
''' 遇到問題沒人解答?小編創(chuàng)建了一個Python學習交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助, 群里還有不錯的視頻學習教程和PDF電子書! ''' from openpyxl import Workbookwb = Workbook()# grab the active worksheetws = wb.active# Data can be assigned directly to cellsws['A1'] = 42# Rows can also be appendedws.append([1, 2, 3])# Python types will automatically be convertedimport datetimews['A2'] = datetime.datetime.now()# Save the filewb.save("sample.xlsx")03.unoconv
https://www.oschina.net/p/unoconv
unoconv,全稱為 Universal Office Converter ,是一個命令行工具,可在 LibreOffice/OpenOffice 支持的任意文件格式之間進行轉換。
unoconv 支持批量轉換文檔,還可以結合 asciidoc和 docbook2odf / xhtml2odt 來創(chuàng)建 PDF 或 Word(.doc) 文件。
''' 遇到問題沒人解答?小編創(chuàng)建了一個Python學習交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助, 群里還有不錯的視頻學習教程和PDF電子書! ''' [dag@moria cv]$ make odt pdf html docrm -f *.{odt,pdf,html,doc}asciidoc -b docbook -d article -o resume.xml resume.txtdocbook2odf -f --params generate.meta=0 -o resume.tmp.odt resume.xmlSaved resume.tmp.odtunoconv -f odt -t template.ott -o resume.odt resume.tmp.odtunoconv -f pdf -t template.ott -o resume.pdf resume.odtunoconv -f html -t template.ott -o resume.html resume.odtunoconv -f doc -t template.ott -o resume.doc resume.odt04.PyPDF2
https://www.oschina.net/p/pypdf
PyPDF2 是一個純 Python PDF 庫,能夠分割、合并、裁剪和轉換 PDF 文件頁面。它還可以添加自定義數據、查看選項和密碼到 PDF 文件。
PyPDF2 可以從 PDF 中檢索文本和元數據,也可以將整個文件合并在一起。
''' 遇到問題沒人解答?小編創(chuàng)建了一個Python學習交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助, 群里還有不錯的視頻學習教程和PDF電子書! ''' from PyPDF2 import PdfFileWriter, PdfFileReaderoutput = 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, unchangedoutput.addPage(input1.getPage(0))# add page 2 from input1, but rotated clockwise 90 degreesoutput.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 outoutput.addJS("this.print({bUI:true,bSilent:false,bShrinkToFit:true});")# encrypt your new PDF and add a passwordpassword = "secret"output.encrypt(password)# finally, write "output" to document-output.pdfoutputStream = file("PyPDF2-output.pdf", "wb")output.write(outputStream)05.Mistune
http://mistune.readthedocs.io/
Mistune 是一個純 Python 實現的 Markdown 解析器,功能齊全,包括表格、注釋、代碼塊等。
Mistune 據稱是所有純 Python markdown 解析器中速度最快的(基準測試結果)。它在設計時考慮了模塊化,以提供一個清晰易用的可擴展的 API 。
import mistunemistune.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 指定列,以及在其上執(zhí)行 SQL 操作。
csvkit 是一個命令行工具,靈感來自 pdftk 、gdal 和其它類似工具。
總結
以上是生活随笔為你收集整理的特别实用的 6 款 Python 特殊文本格式处理库推荐的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一行代码搞定 Scrapy 随机 Use
- 下一篇: Python抓取网页数据的终极办法