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

Python?Excel數(shù)據(jù)處理之xlrd/xlwt/xlutils模塊詳解

 更新時(shí)間:2023年03月21日 09:02:04   作者:Sir?老王  
在復(fù)雜的Excel業(yè)務(wù)數(shù)據(jù)處理中,三兄弟扮演的角色缺一不可。如何能夠使用xlrd/xlwt/xlutils三個(gè)模塊來(lái)實(shí)現(xiàn)數(shù)據(jù)處理就是今天的內(nèi)容,希望對(duì)大家有所幫助

常規(guī)的Excel數(shù)據(jù)處理中,就是對(duì)Excel數(shù)據(jù)文件的讀/寫(xiě)/文件對(duì)象操作。

通過(guò)對(duì)應(yīng)的python非標(biāo)準(zhǔn)庫(kù)xlrd/xlwt/xlutils,來(lái)實(shí)現(xiàn)具體的數(shù)據(jù)處理業(yè)務(wù)邏輯。

在復(fù)雜的Excel業(yè)務(wù)數(shù)據(jù)處理中,三兄弟扮演的角色缺一不可。如何能夠使用xlrd/xlwt/xlutils三個(gè)模塊來(lái)實(shí)現(xiàn)數(shù)據(jù)處理就是今天的內(nèi)容。

1、模塊說(shuō)明

使用該三個(gè)模塊來(lái)處理Excel數(shù)據(jù)最好的地方就是他們和Excel文件對(duì)象對(duì)應(yīng)的數(shù)據(jù)處理概念是一樣的,能更好的便于我們理解數(shù)據(jù)對(duì)象。

首先,這三個(gè)模塊都是python的非標(biāo)準(zhǔn)庫(kù),可以選擇pip的方式來(lái)進(jìn)行安裝。

pip?install?xlrd

pip?install?xlwt

pip?install?xlutils

下面是我們?yōu)檠菔緮?shù)據(jù)處理的過(guò)程準(zhǔn)備的源數(shù)據(jù)內(nèi)容,只是用于測(cè)試。

xlrd:用于讀取Excle數(shù)據(jù)文件將返回的數(shù)據(jù)對(duì)象放到內(nèi)存中,然后查詢數(shù)據(jù)文件對(duì)象的相關(guān)信息。

xlwt:用于在內(nèi)存中生成新的數(shù)據(jù)文件對(duì)象,處理完成后寫(xiě)入到Excel數(shù)據(jù)文件中。

xlutils:主要的作用就是copy新的文件對(duì)象,在新的數(shù)據(jù)對(duì)象中完成數(shù)據(jù)處理操作。

將xlrd/xlwt/xlutils三個(gè)模塊分別都導(dǎo)入到待開(kāi)發(fā)的代碼塊中提供支持。

#?Importing?the?xlrd?module.
import?xlrd?as?read

#?Importing?the?xlwt?module.
import?xlwt?as?write

#?Copying?the?contents?of?the?original?workbook?into?a?new?workbook.
from?xlutils.copy?import?copy

2、xlrd處理

#?Opening?the?workbook?and?assigning?it?to?the?variable?`work_book`.
work_book?=?read.open_workbook('D:/test-data-work/test.xls')

#?Assigning?the?sheet?named?'Sheet1'?to?the?variable?`sheet`.
sheet?=?work_book.sheet_by_name('Sheet1')

#?`row?=?sheet.nrows`?is?assigning?the?number?of?rows?in?the?sheet?to?the?variable?`row`.
row?=?sheet.nrows

#?`col?=?sheet.ncols`?is?assigning?the?number?of?columns?in?the?sheet?to?the?variable?`col`.
col?=?sheet.ncols

print('Sheet1工作表有:{0}行,{1}列'.format(str(row),?str(col)))

# Sheet1工作表有:23行,5列

下面是三種常用的sheet對(duì)象的數(shù)據(jù)遍歷方式,分別是按行/列的方式進(jìn)行數(shù)據(jù)遍歷。

for?a?in?sheet.get_rows():
????print(a)

#?[text:'姓名',?text:'年齡',?text:'班級(jí)',?text:'成績(jī)',?text:'表現(xiàn)']
#?[text:'Python?集中營(yíng)',?number:20.0,?number:1210.0,?number:90.0,?text:'A']
#?[text:'Python?集中營(yíng)',?number:21.0,?number:1211.0,?number:91.0,?text:'A']
#?[text:'Python?集中營(yíng)',?number:22.0,?number:1212.0,?number:92.0,?text:'A']
#?[text:'Python?集中營(yíng)',?number:23.0,?number:1213.0,?number:93.0,?text:'A']
#?[text:'Python?集中營(yíng)',?number:24.0,?number:1214.0,?number:94.0,?text:'A']
#?[text:'Python?集中營(yíng)',?number:25.0,?number:1215.0,?number:95.0,?text:'A']
#?[text:'Python?集中營(yíng)',?number:26.0,?number:1216.0,?number:96.0,?text:'A']
#?[text:'Python?集中營(yíng)',?number:27.0,?number:1217.0,?number:97.0,?text:'A']
#?[text:'Python?集中營(yíng)',?number:28.0,?number:1218.0,?number:98.0,?text:'A']
#?[text:'Python?集中營(yíng)',?number:29.0,?number:1219.0,?number:99.0,?text:'A']
#?[text:'Python?集中營(yíng)',?number:30.0,?number:1220.0,?number:100.0,?text:'A']
#?[text:'Python?集中營(yíng)',?number:31.0,?number:1221.0,?number:101.0,?text:'A']
#?[text:'Python?集中營(yíng)',?number:32.0,?number:1222.0,?number:102.0,?text:'A']
#?[text:'Python?集中營(yíng)',?number:33.0,?number:1223.0,?number:103.0,?text:'A']
#?[text:'Python?集中營(yíng)',?number:34.0,?number:1224.0,?number:104.0,?text:'A']
#?[text:'Python?集中營(yíng)',?number:35.0,?number:1225.0,?number:105.0,?text:'A']
#?[text:'Python?集中營(yíng)',?number:36.0,?number:1226.0,?number:106.0,?text:'A']
#?[text:'Python?集中營(yíng)',?number:37.0,?number:1227.0,?number:107.0,?text:'A']
#?[text:'Python?集中營(yíng)',?number:38.0,?number:1228.0,?number:108.0,?text:'A']
#?[text:'Python?集中營(yíng)',?number:39.0,?number:1229.0,?number:109.0,?text:'A']
#?[text:'Python?集中營(yíng)',?number:40.0,?number:1230.0,?number:110.0,?text:'A']
#?[text:'Python?集中營(yíng)',?number:41.0,?number:1231.0,?number:111.0,?text:'A']

for?b?in?range(row):
????print(sheet.row_values(b))

#?['姓名',?'年齡',?'班級(jí)',?'成績(jī)',?'表現(xiàn)']
#?['Python?集中營(yíng)',?20.0,?1210.0,?90.0,?'A']
#?['Python?集中營(yíng)',?21.0,?1211.0,?91.0,?'A']
#?['Python?集中營(yíng)',?22.0,?1212.0,?92.0,?'A']
#?['Python?集中營(yíng)',?23.0,?1213.0,?93.0,?'A']
#?['Python?集中營(yíng)',?24.0,?1214.0,?94.0,?'A']
#?['Python?集中營(yíng)',?25.0,?1215.0,?95.0,?'A']
#?['Python?集中營(yíng)',?26.0,?1216.0,?96.0,?'A']
#?['Python?集中營(yíng)',?27.0,?1217.0,?97.0,?'A']
#?['Python?集中營(yíng)',?28.0,?1218.0,?98.0,?'A']
#?['Python?集中營(yíng)',?29.0,?1219.0,?99.0,?'A']
#?['Python?集中營(yíng)',?30.0,?1220.0,?100.0,?'A']
#?['Python?集中營(yíng)',?31.0,?1221.0,?101.0,?'A']
#?['Python?集中營(yíng)',?32.0,?1222.0,?102.0,?'A']
#?['Python?集中營(yíng)',?33.0,?1223.0,?103.0,?'A']
#?['Python?集中營(yíng)',?34.0,?1224.0,?104.0,?'A']
#?['Python?集中營(yíng)',?35.0,?1225.0,?105.0,?'A']
#?['Python?集中營(yíng)',?36.0,?1226.0,?106.0,?'A']
#?['Python?集中營(yíng)',?37.0,?1227.0,?107.0,?'A']
#?['Python?集中營(yíng)',?38.0,?1228.0,?108.0,?'A']
#?['Python?集中營(yíng)',?39.0,?1229.0,?109.0,?'A']
#?['Python?集中營(yíng)',?40.0,?1230.0,?110.0,?'A']
#?['Python?集中營(yíng)',?41.0,?1231.0,?111.0,?'A']

for?c?in?range(col):
????print(sheet.col_values(c))

#?['姓名',?'Python?集中營(yíng)',?'Python?集中營(yíng)',?'Python?集中營(yíng)',?'Python?集中營(yíng)',?'Python?集中營(yíng)',?'Python?集中營(yíng)',?'Python?集中營(yíng)',?'Python?集中營(yíng)',?'Python?集中營(yíng)',?'Python?集中營(yíng)',?'Python?集中營(yíng)',?'Python?集中營(yíng)',?'Python?集中營(yíng)',?'Python?集中營(yíng)',?'Python?集中營(yíng)',?'Python?集中營(yíng)',?'Python?集中營(yíng)',?'Python?集中營(yíng)',?'Python?集中營(yíng)',?'Python?集中營(yíng)',?'Python?集中營(yíng)',?'Python?集中營(yíng)']
#?['年齡',?20.0,?21.0,?22.0,?23.0,?24.0,?25.0,?26.0,?27.0,?28.0,?29.0,?30.0,?31.0,?32.0,?33.0,?34.0,?35.0,?36.0,?37.0,?38.0,?39.0,?40.0,?41.0]
#?['班級(jí)',?1210.0,?1211.0,?1212.0,?1213.0,?1214.0,?1215.0,?1216.0,?1217.0,?1218.0,?1219.0,?1220.0,?1221.0,?1222.0,?1223.0,?1224.0,?1225.0,?1226.0,?1227.0,?1228.0,?1229.0,?1230.0,?1231.0]
#?['成績(jī)',?90.0,?91.0,?92.0,?93.0,?94.0,?95.0,?96.0,?97.0,?98.0,?99.0,?100.0,?101.0,?102.0,?103.0,?104.0,?105.0,?106.0,?107.0,?108.0,?109.0,?110.0,?111.0]
#?['表現(xiàn)',?'A',?'A',?'A',?'A',?'A',?'A',?'A',?'A',?'A',?'A',?'A',?'A',?'A',?'A',?'A',?'A',?'A',?'A',?'A',?'A',?'A',?'A']

3、xlwt處理

#?Creating?a?new?workbook.
work_book_2?=?write.Workbook()

#?Creating?a?new?sheet?named?'Sheet4'?in?the?workbook.
sheet_2?=?work_book_2.add_sheet('Sheet4')

list?=?[
????['姓名',?'年齡',?'班級(jí)',?'成績(jī)'],
????['張三',?'20',?'1210',?'89'],
????['李四',?'21',?'1211',?'90'],
????['王五',?'22',?'1212',?'91'],
]
for?row_index?in?range(4):
????for?col_index?in?range(4):
????????sheet_2.write(row_index,?col_index,?list[row_index][col_index])
????????col_index?+=?1
????row_index?+=?1

#?Saving?the?workbook?to?the?specified?location.
work_book_2.save('D:/test-data-work/test2.xls')

4、xlutils處理

#?Opening?the?workbook?and?assigning?it?to?the?variable?`work_book_3`.
work_book_3?=?read.open_workbook('D:/test-data-work/test.xls')

#?Copying?the?contents?of?the?original?workbook?into?a?new?workbook.
work_book_3_copy?=?copy(work_book_3)

#?Saving?the?contents?of?the?original?workbook?into?a?new?workbook.
work_book_3_copy.save('D:/test-data-work/test3.xls')

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

相關(guān)文章

  • 使用python matploblib庫(kù)繪制準(zhǔn)確率,損失率折線圖

    使用python matploblib庫(kù)繪制準(zhǔn)確率,損失率折線圖

    這篇文章主要介紹了使用python matploblib庫(kù)繪制準(zhǔn)確率,損失率折線圖,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • 利用Python實(shí)現(xiàn)Shp格式向GeoJSON的轉(zhuǎn)換方法

    利用Python實(shí)現(xiàn)Shp格式向GeoJSON的轉(zhuǎn)換方法

    JSON(JavaScript Object Nonation)是利用鍵值對(duì)+嵌套來(lái)表示數(shù)據(jù)的一種格式,以其輕量、易解析的優(yōu)點(diǎn),這篇文章主要介紹了利用Python實(shí)現(xiàn)Shp格式向GeoJSON的轉(zhuǎn)換,需要的朋友可以參考下
    2019-07-07
  • 對(duì)Python3.x版本print函數(shù)左右對(duì)齊詳解

    對(duì)Python3.x版本print函數(shù)左右對(duì)齊詳解

    今天小編就為大家分享一篇對(duì)Python3.x版本print函數(shù)左右對(duì)齊詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • Python異常處理try語(yǔ)句應(yīng)用技巧實(shí)例探究

    Python異常處理try語(yǔ)句應(yīng)用技巧實(shí)例探究

    異常處理在Python中是至關(guān)重要的,try-except是用于捕獲和處理異常的核心機(jī)制之一,本文就帶大家深入了解如何使用try-except,處理各種異常情況
    2024-01-01
  • 使用python實(shí)現(xiàn)遞歸版漢諾塔示例(漢諾塔遞歸算法)

    使用python實(shí)現(xiàn)遞歸版漢諾塔示例(漢諾塔遞歸算法)

    這篇文章主要介紹了使用python實(shí)現(xiàn)遞歸版漢諾塔示例(漢諾塔遞歸算法),需要的朋友可以參考下
    2014-04-04
  • 只需要100行Python代碼就可以實(shí)現(xiàn)的貪吃蛇小游戲

    只需要100行Python代碼就可以實(shí)現(xiàn)的貪吃蛇小游戲

    貪吃蛇小游戲相信80、90后小時(shí)候肯定都玩過(guò),那么你知道如果通過(guò)Python來(lái)實(shí)現(xiàn)嗎?今天就來(lái)教大家,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們很有幫助,需要的朋友可以參考下
    2021-05-05
  • 使用Python通過(guò)win32 COM打開(kāi)Excel并添加Sheet的方法

    使用Python通過(guò)win32 COM打開(kāi)Excel并添加Sheet的方法

    今天小編就為大家分享一篇使用Python通過(guò)win32 COM打開(kāi)Excel并添加Sheet的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • Pandas實(shí)現(xiàn)數(shù)據(jù)類(lèi)型轉(zhuǎn)換的一些小技巧匯總

    Pandas實(shí)現(xiàn)數(shù)據(jù)類(lèi)型轉(zhuǎn)換的一些小技巧匯總

    這篇文章主要給大家匯總介紹了關(guān)于Pandas實(shí)現(xiàn)數(shù)據(jù)類(lèi)型轉(zhuǎn)換的一些小技巧,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05
  • python中屏蔽輸出示例詳解

    python中屏蔽輸出示例詳解

    python中屏蔽輸出包含屏蔽標(biāo)準(zhǔn)輸出(比如打印出來(lái)的內(nèi)容)、屏蔽標(biāo)準(zhǔn)錯(cuò)誤(錯(cuò)誤信息)還有屏蔽logging信息等,這篇文章主要介紹了python中屏蔽輸出,需要的朋友可以參考下
    2024-05-05
  • Python繪圖庫(kù)之pyqtgraph的用法詳解

    Python繪圖庫(kù)之pyqtgraph的用法詳解

    PyQtGraph建立在Qt QGraphicsScene的原生庫(kù),可提供更好更高性能繪圖能力,特別是對(duì)于實(shí)時(shí)數(shù)據(jù),可以提供交互性和使用Qt圖形小部件輕松自定義繪圖的能力。本文就來(lái)解釋一下pyqtgraph的用法,需要的可以收藏一下
    2022-12-12

最新評(píng)論

运城市| 七台河市| 孙吴县| 城固县| 旬阳县| 罗城| 六盘水市| 万年县| 枣庄市| 交口县| 新绛县| 闸北区| 收藏| 雷波县| 鹰潭市| 阿克陶县| 嘉义县| 凌云县| 山丹县| 武乡县| 东乡县| 宁安市| 惠安县| 光泽县| 唐山市| 高阳县| 吉安县| 沿河| 泰州市| 东山县| 错那县| 大厂| 东源县| 衡阳县| 南澳县| 得荣县| 和田县| 岳西县| 和龙市| 长治县| 德昌县|