久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

化繁為簡(jiǎn),,python操作excel

 excel05 2022-04-12

人生苦短,我學(xué)python,!

python處理excel的特點(diǎn)

說(shuō)到操作excel,,很多時(shí)候單一表格的數(shù)據(jù)處理直接使用公式即可解決問(wèn)題,稍微復(fù)雜一點(diǎn)使用自帶的VBA也是個(gè)不錯(cuò)的選擇,。

但是對(duì)于數(shù)據(jù)量大,,操作步驟繁瑣,還涉及第三方的數(shù)據(jù)接入或者對(duì)接的話,,使用python絕對(duì)可以起飛,。python的pandas庫(kù)處理數(shù)據(jù)可以非常快速,,而且python可以使用多線程運(yùn)行程序(io密集型的數(shù)據(jù)處理效率更高),。

python操作excel的庫(kù)常用的有幾個(gè),這邊主要接觸了xlrd,、xlwt和openpyxl,,前兩個(gè)庫(kù)分別是讀取和寫(xiě)入xls文件的(也就是不支持xlsx文件);如果要操作xlsx文件的話建議使用openpyxl庫(kù)(可支持讀寫(xiě)),,但是讀寫(xiě)效率并不高,。如果再不寫(xiě)入數(shù)據(jù)的情況下要提升數(shù)據(jù)處理效率的話,使用xlrd單獨(dú)讀取文件是最快的,。

操作excel文件

操作excel之前一定要了解整個(gè)處理步驟,,基本上表格操作都是針對(duì)單元格的,也就是需要定位到具體的單元格,,我們就可以實(shí)現(xiàn)值的讀取,、修改和寫(xiě)入。

記住具體的excel用wb表示,,具體的sheet表用ws表示,,單元格用cell屬性、也可以使用行列定位具體的單元格,,詳細(xì)的使用方法如下介紹,,更多的使用方法可以參考官方文檔,包括修改單元格顏色和字體,、合并單元格,、自動(dòng)換行等:

#導(dǎo)入對(duì)應(yīng)的庫(kù),下面兩個(gè)庫(kù)分別用來(lái)創(chuàng)建表格和載入已有表格

from openpyxl import Workbook

from openpyxl import load_workbook

#wb是代表一個(gè)excel表格,,可以創(chuàng)建,,也可以是load本地表格

wb = Workbook()

wb = load_workbook(filename ='empty.xlsx')

#ws是代表一個(gè)sheet表,'sheet name'是已有的表格名,,也可使用create_sheet創(chuàng)建表格,,0代表第一個(gè)表格,,1代表第二個(gè)表格

ws_sheet = wb['sheet name'] ws_support = wb.create_sheet('support',0) ws_product = wb.create sheet('product',1)

#實(shí)際賦值都是針對(duì)單元格處理的,可使用cell(row= ,column= ).value= #也可使用ws['A1']

for i in range(9): ws_support.cell(row=i//3+2, column=i%3+2).value=list[i]

#迭代查看單元格,,可用value屬性查看具體的值,,cell.value

for row in ws.iter_rows(min_row=1, max_col=3, max_row=2):

for cell in row:

print(cell)

<Cell Sheet1.A1>

<Cell Sheet1.B1>

<Cell Sheet1.C1>

<Cell Sheet1.A2>

<Cell Sheet1.B2>

<Cell Sheet1.C2>

for col in ws.iter_cols(min_row=1, max_col=3, max_row=2):

for cell in col:

print(cell)

<Cell Sheet1.A1>

<Cell Sheet1.A2>

<Cell Sheet1.B1>

<Cell Sheet1.B2>

<Cell Sheet1.C1>

<Cell Sheet1.C2>

文章圖片3

創(chuàng)建圖表

下面主要介紹兩種excel圖表的創(chuàng)建,分別是3D柱狀圖和餅圖,,其余圖表可參考官方文檔。

#導(dǎo)入圖表的相關(guān)庫(kù)

from openpyxl.chart import ( BarChart3D, LineChart, Series, PieChart, Reference )

#3D柱狀圖

rows = [ (None, 2013, 2014), ('Apples', 5, 4), ('Oranges', 6, 2), ('Pears', 8, 3) ]

for row in rows:

ws.append(row)

data = Reference(ws, min_col=2, min_row=1, max_col=3, max_row=4) titles = Reference(ws, min_col=1, min_row=2, max_row=4)

chart = BarChart3D()

chart.title = '3D Bar Chart' chart.add_data(data=data, titles_from_data=True) chart.set_categories(titles)

ws.add_chart(chart, 'E5')

文章圖片4

#餅圖

data = [ ['Page', 'Views'], ['Search', 95], ['Products', 4], ['Offers', 0.5], ['Sales', 0.5], ]

for row in data:

ws.append(row)

projected_pie = ProjectedPieChart() projected_pie.type = 'pie' projected_pie.splitType = 'val' # 根據(jù)值分割

labels = Reference(ws, min_col=1, min_row=2, max_row=5)

data = Reference(ws, min_col=2, min_row=1, max_row=5) projected_pie.add_data(data, titles_from_data=True) projected_pie.set_categories(labels)

ws.add_chart(projected_pie, 'A10')

文章圖片5

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多