• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      Python第三方庫在Excel文件讀寫中的應(yīng)用

      2019-12-01 11:24:16劉衛(wèi)華史婷婷許學(xué)添
      電子技術(shù)與軟件工程 2019年16期
      關(guān)鍵詞:底紋類庫電子表格

      文/劉衛(wèi)華 史婷婷 許學(xué)添

      Python是一種以“優(yōu)雅、明確、簡(jiǎn)單”為設(shè)計(jì)理念的計(jì)算機(jī)程序設(shè)計(jì)語言,而Excel則是Windows平臺(tái)下應(yīng)用最為廣泛的電子表格處理軟件。在過去,對(duì)于很多Excel應(yīng)用人員來說,處理繁雜且數(shù)量眾多的電子表格數(shù)據(jù)是一項(xiàng)既麻煩,又費(fèi)時(shí)的問題,但隨著Python的第三方庫與Excel表格進(jìn)行結(jié)合應(yīng)用以后,這個(gè)問題便被完美的解決,很多工作人員只需要打幾行代碼便可以輕松完成工作。而在Python的第三方庫中,pyExcelerator與xlrd就是用來操作Excel文件的第三方類庫模塊,本文也將圍繞著這兩種類庫模塊在Excel中的應(yīng)用進(jìn)行詳細(xì)介紹說明。

      1 pyExcelerator與xlrd

      pyExcelerator是在Python的所有第三方類庫中主要應(yīng)用于Excel文件的類庫,pyExcelerator不僅可以完全支持UNICODE,還支持各種格式設(shè)置,也正是基于此,其才能對(duì)Excel文件實(shí)施各種操作。在實(shí)際操作中,pyExcelerator的Workbook和Worksheet會(huì)分別對(duì)應(yīng)Excel的Book和Sheet,但實(shí)際上一個(gè)Workbook可能會(huì)包含多個(gè)Worksheet,這也使得很多時(shí)候pyExcelerator與Excel的文件之間會(huì)出現(xiàn)互相不對(duì)應(yīng)的情況,出現(xiàn)讀取困難問題。而且因?yàn)閜yExcelerator不會(huì)提供Excel表格的各種諸如行數(shù)、列數(shù)等關(guān)鍵數(shù)值的訪問接口,也不支持對(duì)空數(shù)據(jù)的處理,所以pyExcelerator類庫不太適合用于對(duì)Excel的寫入處理。

      xlrd雖然同pyExcelerator一樣,都是Python的第三方類庫,并且都是主要用于處理Excel表格,但相比較pyExcelerator來說,xlrd的讀取操作更加便捷簡(jiǎn)單,但有優(yōu)點(diǎn)便會(huì)有缺點(diǎn),xlrd雖然讀取速度和方式更加方便快捷,卻不能對(duì)Excel表格實(shí)施寫入操作,所以在進(jìn)行Excel表寫入的時(shí)候,還是需要用pyExcelerator的。

      2 Python第三方庫在Excel讀取中的應(yīng)用

      因?yàn)閤lrd在讀取Excel文件上更具有優(yōu)勢(shì),所以本文便主要在Excel讀取中應(yīng)用xlrd類庫來進(jìn)行。

      xlrd在進(jìn)行Excel文件讀取時(shí),可以快速的通過讀取文件來得到其內(nèi)部的表格內(nèi)容,然后在通過讀取表格內(nèi)容讀取單元格與單元格內(nèi)的內(nèi)容,不需要再對(duì)單元格的值進(jìn)行重復(fù)讀取,并且可以通過對(duì)表格的行數(shù)和列數(shù)來對(duì)表格實(shí)施遍歷讀取,進(jìn)而獲取整個(gè)表格的所有數(shù)據(jù)。

      一般來說,一個(gè)Excel表格在新建完成后都至少會(huì)有三張表:分別是sheet1、sheet2、sheet3。假如sheet2中的B2、B3、B4有內(nèi)容,那么用xlrd模塊讀取Excel的代碼如下:

      import xlrd #導(dǎo)入擴(kuò)展包

      data=xlrd.open_workbook('book.xls') #打開Excel文件讀取數(shù)據(jù)

      table=data.sheet_by_index(2) #通過索引順序獲取第二個(gè)工作表

      nrows=table.nrows

      ncols=table.ncols #獲取行數(shù)和列

      ctype,value,xf

      table.cell(i,j) #單元格的值

      3 Python第三方庫在Excel寫入中的應(yīng)用

      3.1 建立單元格

      因?yàn)閤lrd模塊不支持Excel文件的寫入修改操作,所以在進(jìn)行Excel寫入應(yīng)用中,本文主要是采用pyExcelerator模塊來進(jìn)行。首先用Workbook定義一個(gè)Excel文件,然后再次使用Workbook定義Excel文件中的一頁,最后再執(zhí)行寫入流程,具體代碼如下:

      coding=utf-8 #定義字體

      from pyExcelerator import *#導(dǎo)入模塊

      w=Workbook() #生成工作簿

      ws=w.add_sheet(’你好')#將第一個(gè)工作表改名為你好

      ws.write(i,j,value)#插入單元格

      ws.write(2,2,'你好',style0)#在工作表的B2單元格中寫入內(nèi)容“你好”

      w.save(‘你好.xls’)#保存文件,名為你好

      3.2 設(shè)置列寬

      使用pyExcelerator對(duì)Excel表格的列寬代碼如下:

      coding=utf-8

      frompyExcelerator import *

      w=Workbook()

      ws=w.add_sheet(’你好')

      ws.write(1,1,’你好’)

      Ws.col(1).width=80 #返回第colnum列的對(duì)象,并通過調(diào)整width屬性來改變此列對(duì)象的寬度

      w.save(‘你好.xls’)

      3.3 設(shè)置單元格邊框

      使用pyExcelerator模塊來對(duì)Excel表格進(jìn)行操作,不僅可以用來建立Excel表格,并對(duì)其內(nèi)部的內(nèi)容屬性實(shí)施修改,還可以改變Excel表格的每一個(gè)邊框?qū)傩赃M(jìn)行設(shè)置,這個(gè)修改是通過pyExcelerator模塊中的borders對(duì)象來完成的,具體代碼如下:

      borders=Borders()

      borders.left=borders.DOUBLE #設(shè)置左邊框?yàn)殡p線

      borders.right=borders.DOUBLE #設(shè)置右邊框?yàn)殡p線

      borders.top=borders.NO_LINE #設(shè)置上邊框不顯示邊框線

      borders.bottom=borders.NO_LINE #設(shè)置下邊框不顯示邊框線

      borders.diag=borders。DOUBLE #設(shè)置對(duì)角線

      borders.top_colour=#ff0000 #設(shè)置上邊框顏色

      borders.diag_colour=#ff0000 #設(shè)置對(duì)角線顏色

      style=XFStyle()

      style.borders=borders

      w=Workbook()

      ws.write=w.add_sheet(’你好’)

      ws.write(i,j,value)

      w.save(’你好.xls’)

      3.4 設(shè)置單元格底紋

      與設(shè)置單元格邊框有所不同,設(shè)置單元格的底紋所使用的卻是pyExcelerator模塊中的pattern對(duì)象,這個(gè)對(duì)象可以有效的設(shè)置單元格底紋的各種屬性,包括有pattern(圖案索引)、pattern_fore_colour(前景色)、pattern_back_color(背景色),具體設(shè)置代碼如下:

      pattern=Pattern()

      pattern.pattern=0 設(shè)置單元格底紋為圖片索引

      pattern.pattern_fore_colour=#ff0000設(shè)置底紋前景色

      pattern.pattern_back_color=#ff0000設(shè)置底紋背景色

      style=XFStyle()

      style.pattern=pattern

      w=Workbook()

      ws.write=w.add_sheet(’你好’)

      ws.write(i,j,value)

      w.save(’你好.xls’)

      4 總結(jié)

      通過Python第三方庫來對(duì)Excel電子表格進(jìn)行操作,不僅可以簡(jiǎn)化相關(guān)工作人員的工作強(qiáng)度,還有利于對(duì)其實(shí)施二次編輯或者操作,特別是針對(duì)一些系統(tǒng)自動(dòng)生成導(dǎo)出的文件來說,應(yīng)用Python第三方庫更是可以實(shí)現(xiàn)“自動(dòng)完成”和“自動(dòng)更新”,從而有效提升企業(yè)對(duì)數(shù)據(jù)的處理效率,提升企業(yè)的工作效率。因此,對(duì)如今的各大企業(yè)來說,通過Python第三方庫來操作Excel表格,在數(shù)據(jù)處理工作中具有極大的價(jià)值與作用,值得推廣分享。

      猜你喜歡
      底紋類庫電子表格
      發(fā)朋友圈好幫手拼圖/拼視頻樣樣行
      用Java編寫客戶機(jī)/服務(wù)器端應(yīng)用程序
      Python在數(shù)據(jù)可視化中的應(yīng)用
      電子表格的自動(dòng)化檢測(cè)
      vivoX21:世界杯深度定制
      淺談電子表格技術(shù)在人事管理中的應(yīng)用
      數(shù)據(jù)結(jié)構(gòu)課程教學(xué)改革方案和應(yīng)用效果
      軟件工程(2017年12期)2018-01-29 17:35:55
      數(shù)據(jù)結(jié)構(gòu)可視化類庫的設(shè)計(jì)與實(shí)現(xiàn)
      基于Excel電子表格的體育成績(jī)統(tǒng)計(jì)軟件設(shè)計(jì)
      利用“查找”批量設(shè)置藍(lán)色底紋
      電腦迷(2015年9期)2015-05-30 21:52:04
      从化市| 象山县| 商城县| 北票市| 花莲县| 平泉县| 三亚市| 达日县| 景宁| 吉水县| 深圳市| 缙云县| 辽宁省| 南乐县| 庆安县| 柳江县| 鹤庆县| 平泉县| 尼玛县| 岳池县| 泾川县| 商洛市| 阿合奇县| 华安县| 阳泉市| 枣强县| 定结县| 凯里市| 东乡族自治县| 牟定县| 常熟市| 防城港市| 中西区| 越西县| 防城港市| 原阳县| 台东县| 晋中市| 赣州市| 南开区| 南木林县|