最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

Tablib庫

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

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

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

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

pip install tablib

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

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

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

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

在下面的代碼中,我們將會導(dǎo)入一個名為“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庫來讀取Excel文件。

在下面的代碼中,我們將會導(dǎo)入一個名為“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)。

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

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

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

1.添加列和行

在Tablib中,添加列和行非常方便。對于列的添加,我們只需要在Dataset中使用add_column()方法。而對于行的添加,我們可以使用Dataset的append()方法,通過列表的形式添加具體的數(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的某些方法來刪除指定列或行。在下面的代碼中,我們演示了如何刪除名為“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ù)時,Tablib默認(rèn)將所有的數(shù)據(jù)均作為字符串進(jìn)行處理。

如果想要在Tablib中處理數(shù)值類型數(shù)據(jù),可以通過指定列的數(shù)據(jù)類型來實(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格式即可。

在下面的代碼中,我們將會使用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庫將數(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)出其他格式時,需要先安裝對應(yīng)的依賴庫。

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庫的各種用法和示例,包括從不同數(shù)據(jù)源導(dǎo)入數(shù)據(jù)、對數(shù)據(jù)進(jìn)行加工處理以及將數(shù)據(jù)導(dǎo)出到不同格式的文件中。

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

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

相關(guān)文章

  • Python?Pandas讀取csv/tsv文件(read_csv,read_table)的區(qū)別

    Python?Pandas讀取csv/tsv文件(read_csv,read_table)的區(qū)別

    這篇文章主要給大家介紹了關(guān)于Python?Pandas讀取csv/tsv文件(read_csv,read_table)區(qū)別的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Pandas具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-01-01
  • Python基類函數(shù)的重載與調(diào)用實(shí)例分析

    Python基類函數(shù)的重載與調(diào)用實(shí)例分析

    這篇文章主要介紹了Python基類函數(shù)的重載與調(diào)用方法,實(shí)例分析了Python中基類函數(shù)的重載及調(diào)用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-01-01
  • django celery redis使用具體實(shí)踐

    django celery redis使用具體實(shí)踐

    這篇文章主要介紹了django celery redis使用具體實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • python os.path.isfile()因參數(shù)問題判斷錯誤的解決

    python os.path.isfile()因參數(shù)問題判斷錯誤的解決

    今天小編就為大家分享一篇python os.path.isfile()因參數(shù)問題判斷錯誤的解決,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • python用ConfigObj讀寫配置文件的實(shí)現(xiàn)代碼

    python用ConfigObj讀寫配置文件的實(shí)現(xiàn)代碼

    發(fā)現(xiàn)一個簡單而又強(qiáng)大的讀寫配置文件的lib,個人覺得最大的亮點(diǎn)在于自帶的格式校驗(yàn)功能,并且支持復(fù)雜的嵌套格式,而且使用起來也相當(dāng)?shù)暮啽?/div> 2013-03-03
  • python-opencv如何讀取圖片及尺寸修改

    python-opencv如何讀取圖片及尺寸修改

    這篇文章主要介紹了python-opencv如何讀取圖片及尺寸修改,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Tensorflow之梯度裁剪的實(shí)現(xiàn)示例

    Tensorflow之梯度裁剪的實(shí)現(xiàn)示例

    這篇文章主要介紹了Tensorflow之梯度裁剪的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Python字體反爬實(shí)戰(zhàn)案例分享

    Python字體反爬實(shí)戰(zhàn)案例分享

    這篇文章主要介紹了Python字體反爬實(shí)戰(zhàn)案例分享,文章基于python的相關(guān)資料利用實(shí)習(xí)?x站點(diǎn)實(shí)戰(zhàn)案例,具有一定的的參考價(jià)值,需要的小伙伴可以參考一下
    2022-06-06
  • python計(jì)算無窮大的實(shí)例

    python計(jì)算無窮大的實(shí)例

    這篇文章主要介紹了python計(jì)算無窮大的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2026-03-03
  • Python+Tkinter實(shí)現(xiàn)簡單的畫圖軟件

    Python+Tkinter實(shí)現(xiàn)簡單的畫圖軟件

    這篇文章主要為大家詳細(xì)介紹了如何利用Python和Tkinter實(shí)現(xiàn)編寫一個簡單的畫圖軟件,可以實(shí)現(xiàn)畫圖、保存、撤銷等功能,感興趣的可以了解一下
    2023-04-04

最新評論

富锦市| 都安| 晋中市| 运城市| 嘉黎县| 明光市| 天等县| 都安| 阿巴嘎旗| 昂仁县| 榆社县| 庄河市| 青州市| 崇阳县| 桂东县| 荣昌县| 积石山| 固镇县| 平乐县| 汕尾市| 茌平县| 岳阳县| 凤冈县| 重庆市| 得荣县| 防城港市| 南充市| 汤阴县| 浦东新区| 沧州市| 石泉县| 郴州市| 呼玛县| 新泰市| 无极县| 昂仁县| 厦门市| 南和县| 上蔡县| 津南区| 五华县|