国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

python之tablib:處理表格數(shù)據(jù)

這篇具有很好參考價(jià)值的文章主要介紹了python之tablib:處理表格數(shù)據(jù)。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

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

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

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

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


Tablib是一個(gè)用于處理電子表格數(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ǔ)知識(shí)介紹

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

pip install tablib

Tablib最基礎(chǔ)的數(shù)據(jù)類型是Dataset。它由行和列構(gòu)成,可理解為一個(gè)二維數(shù)組,每個(gè)元素可以是任意的Python對象。Dataset可以定義列和行的名稱,在數(shù)據(jù)導(dǎo)出時(shí)也會(huì)體現(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)。在下面的代碼中,我們將會(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庫來讀取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')))

三、對數(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ù)時(shí),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格式即可。在下面的代碼中,我們將會(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庫將數(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í),需要先安裝對應(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ù)。文章來源地址http://www.zghlxwxcb.cn/news/detail-506168.html

到了這里,關(guān)于python之tablib:處理表格數(shù)據(jù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包