欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python表格數(shù)據(jù)處理庫(kù)之tablib庫(kù)詳解

 更新時(shí)間:2023年08月01日 11:47:16   作者:naer_chongya  
這篇文章主要介紹了Python表格數(shù)據(jù)處理庫(kù)之tablib庫(kù)詳解,Tablib是一個(gè)用于處理電子表格數(shù)據(jù)的Python庫(kù),它可以輕松地進(jìn)行數(shù)據(jù)的導(dǎo)入和導(dǎo)出,以及數(shù)據(jù)格式的轉(zhuǎn)換,需要的朋友可以參考下

Tablib庫(kù)

Tablib是一個(gè)用于處理電子表格數(shù)據(jù)的Python庫(kù),它可以輕松地進(jìn)行數(shù)據(jù)的導(dǎo)入和導(dǎo)出,以及數(shù)據(jù)格式的轉(zhuǎn)換。

本文將詳細(xì)介紹Tablib庫(kù)的各種用法和示例,包括如何從不同的數(shù)據(jù)源導(dǎo)入數(shù)據(jù)、如何對(duì)數(shù)據(jù)進(jìn)行加工處理以及如何將數(shù)據(jù)導(dǎo)出到不同的格式。

一、安裝及基礎(chǔ)知識(shí)介紹

安裝Tablib非常簡(jiǎn)單,只需要使用pip命令即可完成安裝。在終端中輸入以下命令即可開(kāi)始安裝:

pip install tablib

Tablib最基礎(chǔ)的數(shù)據(jù)類型是Dataset。它由行和列構(gòu)成,可理解為一個(gè)二維數(shù)組,每個(gè)元素可以是任意的Python對(duì)象。Dataset可以定義列和行的名稱,在數(shù)據(jù)導(dǎo)出時(shí)也會(huì)體現(xiàn)出來(lái)。

二、從不同的數(shù)據(jù)源導(dǎo)入數(shù)據(jù)

1.從csv文件中導(dǎo)入數(shù)據(jù)

使用Tablib導(dǎo)入csv文件非常容易,只需要使用Tablib內(nèi)置的Dataset方法即可實(shí)現(xiàn)。

在下面的代碼中,我們將會(huì)導(dǎo)入一個(gè)名為“example.csv”的csv文件,并轉(zhuǎn)換為Tablib的Dataset格式。

import tablib
data = tablib.Dataset().load(open('example.csv').read())

2.從Excel文件中導(dǎo)入數(shù)據(jù)

Tablib同樣支持從Excel文件中導(dǎo)入數(shù)據(jù),可以使用xlrd庫(kù)來(lái)讀取Excel文件。

在下面的代碼中,我們將會(huì)導(dǎo)入一個(gè)名為“example.xlsx”的Excel文件,并轉(zhuǎn)換為Tablib的Dataset格式。

import xlrd
import tablib
data = tablib.Dataset().load(open('example.xlsx').read(), format='xls')

3.從json文件中導(dǎo)入數(shù)據(jù)

導(dǎo)入json文件也非常容易,只需要使用Tablib內(nèi)置的Dataset方法即可實(shí)現(xiàn)。

在下面的代碼中,我們將會(huì)導(dǎo)入一個(gè)名為“example.json”的json文件,并轉(zhuǎn)換為Tablib的Dataset格式。

import tablib
import json
data = tablib.Dataset().load(json.load(open('example.json')))

三、對(duì)數(shù)據(jù)進(jìn)行加工處理

1.添加列和行

在Tablib中,添加列和行非常方便。對(duì)于列的添加,我們只需要在Dataset中使用add_column()方法。而對(duì)于行的添加,我們可以使用Dataset的append()方法,通過(guò)列表的形式添加具體的數(shù)據(jù)。

import tablib
data = tablib.Dataset()
data.headers = ['name', 'age']
data.add_column(['Tom', 'Ali', 'Mike'], header='name')
data.add_column(['27', '25', '28'], header='age')

2.刪除列和行

刪除列和行同樣很容易,我們只需要使用Dataset的某些方法來(lái)刪除指定列或行。在下面的代碼中,我們演示了如何刪除名為“age”的列以及第二行數(shù)據(jù)。

import tablib
data = tablib.Dataset()
data.headers = ['name', 'age']
data.add_column(['Tom', 'Ali', 'Mike'], header='name')
data.add_column(['27', '25', '28'], header='age')
data.remove_column('age')
data.pop(2)

3.重命名列

在Tablib中,重命名列也非常容易,只需要使用Dataset的rename()方法即可。

import tablib
data = tablib.Dataset()
data.headers = ['name', 'age']
data.add_column(['Tom', 'Ali', 'Mike'], header='name')
data.add_column(['27', '25', '28'], header='age')
data.rename('name', 'username')

4.指定列的數(shù)據(jù)類型

在導(dǎo)入數(shù)據(jù)時(shí),Tablib默認(rèn)將所有的數(shù)據(jù)均作為字符串進(jìn)行處理。

如果想要在Tablib中處理數(shù)值類型數(shù)據(jù),可以通過(guò)指定列的數(shù)據(jù)類型來(lái)實(shí)現(xiàn)。

import tablib
data = tablib.Dataset()
data.headers = ['name', 'age']
data.add_column(['Tom', 'Ali', 'Mike'], header='name')
data.add_column([27, 25, 28], header='age', type='numeric')

四、將數(shù)據(jù)導(dǎo)出到不同的格式

1.導(dǎo)出為csv文件

將數(shù)據(jù)導(dǎo)出為csv文件也非常方便,只需要使用Tablib內(nèi)置的csv格式即可。

在下面的代碼中,我們將會(huì)使用Tablib將數(shù)據(jù)導(dǎo)出為“example.csv”的csv文件。

import tablib
data = tablib.Dataset()
data.headers = ['name', 'age']
data.add_column(['Tom', 'Ali', 'Mike'], header='name')
data.add_column(['27', '25', '28'], header='age')
with open('example.csv', 'w') as f:
    f.write(data.csv)

2.導(dǎo)出為Excel文件

導(dǎo)出為Excel文件同樣容易,只需要使用Tablib內(nèi)置的xls格式,并使用xlwt庫(kù)將數(shù)據(jù)導(dǎo)出為Excel文件即可。

import tablib
import xlwt
data = tablib.Dataset()
data.headers = ['name', 'age']
data.add_column(['Tom', 'Ali', 'Mike'], header='name')
data.add_column(['27', '25', '28'], header='age')
book = xlwt.Workbook(encoding='utf-8')
sheet = book.add_sheet('Sheet1')
for idx, row in enumerate(data):
    for colidx, value in enumerate(row):
        sheet.write(idx, colidx, value)
book.save('example.xls')

3.導(dǎo)出為json文件

將數(shù)據(jù)導(dǎo)出為json文件也非常容易,只需要使用Tablib內(nèi)置的json格式即可。

import tablib
import json
data = tablib.Dataset()
data.headers = ['name', 'age']
data.add_column(['Tom', 'Ali', 'Mike'], header='name')
data.add_column(['27', '25', '28'], header='age')
with open('example.json', 'w') as f:
    f.write(json.dumps(data.json))

4.導(dǎo)出為其他格式

Tablib還支持導(dǎo)出為其他格式,包括YAML格式、HTML格式甚至Markdown格式等。

在導(dǎo)出其他格式時(shí),需要先安裝對(duì)應(yīng)的依賴庫(kù)。

import tablib
import yaml
import markdown
data = tablib.Dataset()
data.headers = ['name', 'age']
data.add_column(['Tom', 'Ali', 'Mike'], header='name')
data.add_column(['27', '25', '28'], header='age')
#導(dǎo)出為YAML格式
with open('example.yml', 'w') as f:
    f.write(yaml.dump(data.yaml))
#導(dǎo)出為HTML格式
html = '<table>{}</table>'.format(data.html)
with open('example.html', 'w') as f:
    f.write(html)
#導(dǎo)出為Markdown格式
md = markdown.markdown(data.markdown)
with open('example.md', 'w') as f:
    f.write(md)

總結(jié):

本文介紹了Tablib庫(kù)的各種用法和示例,包括從不同數(shù)據(jù)源導(dǎo)入數(shù)據(jù)、對(duì)數(shù)據(jù)進(jìn)行加工處理以及將數(shù)據(jù)導(dǎo)出到不同格式的文件中。

其中,Tablib庫(kù)具有良好的易用性和靈活性,可以幫助我們更高效地處理表格數(shù)據(jù)。

到此這篇關(guān)于Python表格數(shù)據(jù)處理庫(kù)之tablib庫(kù)詳解的文章就介紹到這了,更多相關(guān)Python表格數(shù)據(jù)tablib內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Flask框架Jinjia模板常用語(yǔ)法總結(jié)

    Flask框架Jinjia模板常用語(yǔ)法總結(jié)

    這篇文章主要介紹了Flask框架Jinjia模板常用語(yǔ)法,結(jié)合實(shí)例形式總結(jié)分析了Jinjia模板的變量、賦值、流程控制、函數(shù)、塊、宏等基本使用方法,需要的朋友可以參考下
    2018-07-07
  • Python使用conda如何安裝requirement.txt的擴(kuò)展包

    Python使用conda如何安裝requirement.txt的擴(kuò)展包

    這篇文章主要介紹了Python使用conda如何安裝requirement.txt的擴(kuò)展包問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • python3模擬實(shí)現(xiàn)xshell遠(yuǎn)程執(zhí)行l(wèi)inux命令的方法

    python3模擬實(shí)現(xiàn)xshell遠(yuǎn)程執(zhí)行l(wèi)inux命令的方法

    今天小編就為大家分享一篇python3模擬實(shí)現(xiàn)xshell遠(yuǎn)程執(zhí)行l(wèi)inux命令的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • Python中的裝飾器鏈(decorator chain)詳解

    Python中的裝飾器鏈(decorator chain)詳解

    在Python中,裝飾器是一種高級(jí)功能,它允許你在不修改函數(shù)或類代碼的情況下,為它們添加額外的功能,裝飾器通常用于日志記錄、性能測(cè)量、權(quán)限檢查等場(chǎng)景,當(dāng)多個(gè)裝飾器應(yīng)用于同一個(gè)函數(shù)或類時(shí),形成裝飾器鏈,這篇文章主要介紹了Python中的裝飾器鏈詳解,需要的朋友可以參考下
    2024-06-06
  • Python+pytorch實(shí)現(xiàn)天氣識(shí)別

    Python+pytorch實(shí)現(xiàn)天氣識(shí)別

    這篇文章主要為大家詳細(xì)介紹了如何利用Python+pytorch實(shí)現(xiàn)天氣識(shí)別功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下
    2022-10-10
  • python使用socket實(shí)現(xiàn)圖像傳輸功能

    python使用socket實(shí)現(xiàn)圖像傳輸功能

    這篇文章主要為大家詳細(xì)介紹了python使用socket實(shí)現(xiàn)圖像傳輸功能,linux服務(wù)器與win10主機(jī)間的圖像傳輸,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Python使用pymongo庫(kù)操作MongoDB數(shù)據(jù)庫(kù)的方法實(shí)例

    Python使用pymongo庫(kù)操作MongoDB數(shù)據(jù)庫(kù)的方法實(shí)例

    今天小編就為大家分享一篇關(guān)于Python使用pymongo庫(kù)操作MongoDB數(shù)據(jù)庫(kù)的方法實(shí)例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02
  • Python自動(dòng)化辦公之圖片轉(zhuǎn)PDF的實(shí)現(xiàn)

    Python自動(dòng)化辦公之圖片轉(zhuǎn)PDF的實(shí)現(xiàn)

    實(shí)現(xiàn)圖片轉(zhuǎn)換成PDF文檔的操作方法有很多,綜合對(duì)比以后感覺(jué)fpdf這個(gè)模塊用起來(lái)比較方便而且代碼量相當(dāng)少。所以本文將利用Python語(yǔ)言實(shí)現(xiàn)圖片轉(zhuǎn)PDF,感興趣的可以了解一下
    2022-04-04
  • Python使用PyAV提取視頻關(guān)鍵幀的實(shí)踐

    Python使用PyAV提取視頻關(guān)鍵幀的實(shí)踐

    本文主要介紹了Python使用PyAV提取視頻關(guān)鍵幀的實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • python 實(shí)現(xiàn)倒排索引的方法

    python 實(shí)現(xiàn)倒排索引的方法

    今天小編就為大家分享一篇python 實(shí)現(xiàn)倒排索引的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12

最新評(píng)論