亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python中處理表格數(shù)據(jù)的Tablib庫詳解

 更新時(shí)間:2023年08月01日 11:36:25   作者:番茄牛腩不吃番茄  
這篇文章主要介紹了Python中處理表格數(shù)據(jù)的Tablib庫詳解,Tablib 是一個(gè) MIT 許可的格式不可知的表格數(shù)據(jù)集庫,用 Python 編寫,它允許您導(dǎo)入、導(dǎo)出和操作表格數(shù)據(jù)集,需要的朋友可以參考下

快速入門

Tablib 是一個(gè) MIT 許可的格式不可知的表格數(shù)據(jù)集庫,用 Python 編寫。它允許您導(dǎo)入、導(dǎo)出和操作表格數(shù)據(jù)集。

首先安裝第三方包pip install tablib;pip3是因?yàn)殡娔X上安裝了python2.7版本

lifeng@apple ~ % pip3 install tablib 
Collecting tablib
  Using cached tablib-3.0.0-py3-none-any.whl (47 kB)
Installing collected packages: tablib
Successfully installed tablib-3.0.0

其次開始導(dǎo)入包,并創(chuàng)建對(duì)象,這個(gè)對(duì)象就是一個(gè)數(shù)據(jù)集,示例例如:

import tablib
t = tablib.Dataset()

最后開始往里面添加數(shù)據(jù),示例如下:

  • 添加行
import tablib
t = tablib.Dataset()
names = ["張三    50", "李四    20"]
for name in names:
    n, s = name.split()
    t.append([n, s])
  • 添加標(biāo)題
t.headers = ["姓名", "分?jǐn)?shù)"]
  • 添加列
t.append_col([23, 24], "年齡")

合在一起運(yùn)行并展示結(jié)果,示例如下:

import tablib
t = tablib.Dataset()
names = ["張三    50", "李四    20"]
for name in names:
    n, s = name.split()
    t.append([n, s])
t.headers = ["姓名", "分?jǐn)?shù)"]
t.append_col([23, 24], "年齡")
print(t.dict)

# 運(yùn)行結(jié)果
[OrderedDict([('姓名', '張三'), ('分?jǐn)?shù)', '50'), ('年齡', 23)]), OrderedDict([('姓名', '李四'), ('分?jǐn)?shù)', '20'), ('年齡', 24)])]
Process finished with exit code 0

從返回結(jié)果可以清晰看到,是OrderedDict類,它的作用就是按照元素初始添加順序進(jìn)行的…

導(dǎo)入數(shù)據(jù)

tablib.Dataset通過導(dǎo)入預(yù)先存在的文件來創(chuàng)建對(duì)象很簡(jiǎn)單。示例如下:

import tablib
with open("data_list.xlsx", "rb") as r:
    data = tablib.Dataset().load(r)
    print(data)
# 運(yùn)行結(jié)果
姓名|分?jǐn)?shù)|年齡
--|--|--
張三|50|23
李四|20|24
Process finished with exit code 0

目前支持導(dǎo)入csv, tsv, dbf, xls, xlsx格式,這也是官網(wǎng)公布的,實(shí)操一下csv, tsv, dbf, xlsx是可行的。

導(dǎo)出數(shù)據(jù)

  • 導(dǎo)出csv格式數(shù)據(jù)
print(t.export("csv"))
# 運(yùn)行結(jié)果
姓名,分?jǐn)?shù),年齡
張三,50,23
李四,20,24
Process finished with exit code 0
  • 導(dǎo)出json格式數(shù)據(jù)
print(t.export("json"))
# 運(yùn)行結(jié)果
[{"姓名": "張三", "分?jǐn)?shù)": "50", "年齡": 23}, {"姓名": "李四", "分?jǐn)?shù)": "20", "年齡": 24}]
Process finished with exit code 0
  • 導(dǎo)出yaml格式數(shù)據(jù)
print(t.export("yaml"))
# 運(yùn)行結(jié)果
- {分?jǐn)?shù): '50', 姓名: 張三, 年齡: 23}
- {分?jǐn)?shù): '20', 姓名: 李四, 年齡: 24}
Process finished with exit code 0

官方介紹還可以導(dǎo)出xls和pf格式,導(dǎo)入xls格式得安裝依賴包xlwt和xlrd;導(dǎo)出pf格式得安裝依賴包panads,如果不安裝第三方包去直接使用的話就會(huì)拋出錯(cuò)誤。

獲取和刪除

  • 索引獲取、切片獲取和鍵獲取,示例如下:
#   索引獲取數(shù)據(jù)
print(t[0])
#   切片獲取數(shù)據(jù)
print(t[0:2])
#   獲取全部數(shù)據(jù)
print(t.dict)
#   鍵名獲取指定列
print(t["姓名"])
#   求平均年齡
print(sum(t["年齡"]) / len(t["年齡"]))
  • 索引刪除、切片刪除和鍵刪除,示例如下:
#   索引刪除值
del t[0]
#   切片刪除值
del t[0: 2]
#   鍵名刪除指定列
del t["姓名"]

文件中寫入數(shù)據(jù)

import tablib
#   準(zhǔn)備數(shù)據(jù)
data_one = [
    ('11/24/09', '張三', 56.),
    ('05/24/10', '李四', 62.)
]
data_two = [
    ('11/24/09', '王二二', 56.),
    ('05/24/10', '皮球球', 62.)
]
#   創(chuàng)建對(duì)象
data = tablib.Dataset()
data.headers = ['日期', '姓名', '分?jǐn)?shù)']
#   循環(huán)插入數(shù)據(jù)
for row in data_one:
    data.append(row)
#   循環(huán)插入數(shù)據(jù)
for row in data_two:
    data.append(row)
#   往文件中寫入數(shù)據(jù)
with open('testing.xlsx', 'wb') as f:
    f.write(data.export('xlsx'))

這里的寫入文件不需要先創(chuàng)建好;它會(huì)自動(dòng)識(shí)別,不存在時(shí)會(huì)自動(dòng)創(chuàng)建,存在時(shí)就進(jìn)行覆蓋。運(yùn)行后完成后截圖如下:

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

相關(guān)文章

  • Numpy之random函數(shù)使用學(xué)習(xí)

    Numpy之random函數(shù)使用學(xué)習(xí)

    這篇文章主要介紹了Numpy之random使用學(xué)習(xí),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • 在django模板中實(shí)現(xiàn)超鏈接配置

    在django模板中實(shí)現(xiàn)超鏈接配置

    今天小編就為大家分享一篇在django模板中實(shí)現(xiàn)超鏈接配置,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Matplotlib 折線圖plot()所有用法詳解

    Matplotlib 折線圖plot()所有用法詳解

    這篇文章主要介紹了Matplotlib 折線圖plot()所有用法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Python基礎(chǔ)詳解之郵件處理

    Python基礎(chǔ)詳解之郵件處理

    這篇文章主要介紹了Python基礎(chǔ)詳解之郵件處理,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python基礎(chǔ)的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • Python中的閉包實(shí)例詳解

    Python中的閉包實(shí)例詳解

    這篇文章主要介紹了Python中的閉包,針對(duì)閉包的定義、用法及注意事項(xiàng)進(jìn)行了實(shí)例講解,有助于讀者深入理解閉包的概念及用法,需要的朋友可以參考下
    2014-08-08
  • python實(shí)現(xiàn)階乘的三種方法

    python實(shí)現(xiàn)階乘的三種方法

    階乘是基斯頓·卡曼于 1808 年發(fā)明的運(yùn)算符號(hào),是數(shù)學(xué)術(shù)語,一個(gè)正整數(shù)的階乘(factorial)是所有小于及等于該數(shù)的正整數(shù)的積,并且0的階乘為1,本文給大家介紹了python實(shí)現(xiàn)階乘的三種方法,通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • Python 通過監(jiān)聽端口實(shí)現(xiàn)唯一腳本運(yùn)行方式

    Python 通過監(jiān)聽端口實(shí)現(xiàn)唯一腳本運(yùn)行方式

    這篇文章主要介紹了Python 通過監(jiān)聽端口實(shí)現(xiàn)唯一腳本運(yùn)行方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Django之Mode的外鍵自關(guān)聯(lián)和引用未定義的Model方法

    Django之Mode的外鍵自關(guān)聯(lián)和引用未定義的Model方法

    今天小編就為大家分享一篇Django之Mode的外鍵自關(guān)聯(lián)和引用未定義的Model方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • 利用python下載scihub成文獻(xiàn)為PDF操作

    利用python下載scihub成文獻(xiàn)為PDF操作

    這篇文章主要介紹了利用python下載scihub成文獻(xiàn)為PDF操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • 快速上手基于Anaconda搭建Django環(huán)境的教程

    快速上手基于Anaconda搭建Django環(huán)境的教程

    Django具有完整的封裝,開發(fā)者可以高效率的開發(fā)項(xiàng)目,Django將大部分的功能進(jìn)行了封裝,開發(fā)者只需要調(diào)用即可,接下來通過本文給大家介紹基于Anaconda搭建Django環(huán)境的教程,需要的朋友可以參考下
    2021-10-10

最新評(píng)論