日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

10分钟学会用Python轻松玩转Excel

發布時間:2023/12/19 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 10分钟学会用Python轻松玩转Excel 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

當你需要每天對 Excel 做大量重復的操作,如果只靠人工來做既浪費時間,又十分枯燥,好在 Python 為我們提供了許多操作 Excel 的模塊,能夠讓我們從繁瑣的工作中騰出雙手。

今天就和大家分享一個快速處理 Excel 的模塊 openpyxl,它的功能相對與其他模塊更為齊全,足夠應對日常出現的問題。

openpyxl 安裝

直接在命令提示符中輸入。

pip?install?openpyxl

或使用豆瓣鏡像安裝。

pip?install?-i?https://pypi.douban.com/simple?openpyxl

安裝成功后,下面就看看如何使用

打開/創建工作簿

「示例工作簿」工作表【一等獎】工作表【二等獎】

(1)打開本地工作簿

>>>?from?openpyxl?import?load_workbook >>>?wb?=?load_workbook('獲獎名單.xlsx')

(2)創建空的工作薄

>>>?from?openpyxl?import?Workbook >>>?wb1?=?Workbook()

訪問工作表

創建新工作表,可指定插入的位置(0:首位,-1:末尾)。

>>>?wb.create_sheet('new_sheet',?0) <Worksheet?"new_sheet">

獲取工作簿中所有工作表。

>>>?wb.sheetnames ['new_sheet',?'一等獎',?'二等獎']

使用列表推導式遍歷獲取所有工作表名稱。

>>>?[sheet.title?for?sheet?in?wb] ['new_sheet',?'一等獎',?'二等獎']

使用 wb[sheetname] 來獲取一個工作表對象

>>>?wb['二等獎'] <Worksheet?"二等獎">

獲取活動表(即打開工作簿首先出現的工作表)。

>>>?wb.active <Worksheet?"一等獎">

獲取工作表行列信息。

>>>?sheet1?=?wb['一等獎'] >>>?sheet1.max_column 7 >>>?sheet1.max_row 6

獲取單元格信息

訪問某個單元格

>>>?sheet1['D3'] <Cell?'一等獎'.D3> >>>?sheet1.cell(row=3,?column=4) <Cell?'一等獎'.D3>

如果訪問單元格式添加 value 參數則會修改當前單元格的值。

>>>?sheet1.cell(3,?4).value '基于Spark、Python的醫護人員信息抽取與管理' >>>?sheet1.cell(3,?4,?value='Python') <Cell?'一等獎'.D3> >>>?sheet1.cell(3,?4).value 'Python'

獲取單元格的值、坐標、行索引、列索引。

>>>?sheet1['D3'].value 'Python' >>>?sheet1['D3'].coordinate 'D3' >>>?sheet1['D3'].row 3 >>>?sheet1['D3'].column 4

訪問多個單元格

使用切片來訪問多個單元格,這里的切片與列表切片有區別,列表切片是「前閉后開」,Excel 中的切片是「前閉后閉」

(1)選取 A1:B2 區域的單元格。

>>>?sheet1['A1':'B2'] ((<Cell?'一等獎'.A1>,<Cell?'一等獎'.B1>),(<Cell?'一等獎'.A2>,<Cell?'一等獎'.B2>))

選取單列數據。

>>>?sheet1['D'] (<Cell?'一等獎'.D1>,...<Cell?'一等獎'.D6>)

選取B,C列數據。

>>>?sheet1['B:C'] ((<Cell?'一等獎'.B1>,...<Cell?'一等獎'.B6>),(<Cell?'一等獎'.C1>,...<Cell?'一等獎'.C6>))

選取單行數據。

>>>?sheet1[3] (<Cell?'一等獎'.A3>,<Cell?'一等獎'.B3>,...<Cell?'一等獎'.F3>,<Cell?'一等獎'.G3>)

選取第2,3行數據。

>>>?sheet1[2:3] ((<Cell?'一等獎'.A2>,...<Cell?'一等獎'.G2>),(<Cell?'一等獎'.A3>,...<Cell?'一等獎'.G3>))

遍歷獲取數據

按行遍歷指定范圍(B2:C3)數據。

>>>?for?row?in??sheet1.iter_rows(min_row=2,?max_row=3,?min_col=2,?max_col=3):for?cell?in??row:print(cell.coordinate)B2 C2 B3 C3

按列遍歷指定范圍(B2:C3)數據。

>>>?for?col?in??sheet1.iter_cols(min_row=2,?max_row=3,?min_col=2,?max_col=3):for?cell?in?col:print(cell.coordinate)B2 B3 C2 C3

如果 iter_rows()/iter_cols() 中指定參數 values_only=True,那么將只返回單元格的值

按行遍歷所有數據。

>>>?tuple(sheet1.rows) ((<Cell?'一等獎'.A1>,...<Cell?'一等獎'.G1>),......(<Cell?'一等獎'.A6>,...<Cell?'一等獎'.G6>))

按列遍歷所有數據。

>>>?tuple(sheet1.columns) ((<Cell?'一等獎'.A1>,...<Cell?'一等獎'.A6>),......(<Cell?'一等獎'.G1>,?...<Cell?'一等獎'.G6>))

修改工作表

單元格賦值

新增一列計算 作者 人數。

>>>?for?row_index?in?range(2,?sheet1.max_row?+?1):sheet1.cell(row_index,?8).value?=?len(sheet1.cell(row_index,?6).value.split(','))

使用公式給單元格賦值,H7 統計作者總人數。

>>>?sheet1['H7']?=?'=SUM(H1:H6)'

追加一行數據

使用列表按序傳入值。

>>>?sheet1.append([str(n)?for?n?in?range(6)])

使用字典指定 列索引:列值 。

>>>?sheet1.append({'A':'1','C':'3'})

插入空白行

在指定位置插入空白行, idx 行索引,插入的位置;amount 插入空白行的數量

>>>?sheet1.insert_rows(idx=2,?amount=2)

刪除工作表

>>>?wb.remove(wb['new_sheet'])

保存工作簿

>>>?wb.save('獲獎名單V1.xlsx')

修改樣式

字體

設置 B2 單元格字體格式為,顏色可以用十六進制顏色代碼。

>>>?from?openpyxl.styles?import?Font>>>?new_font?=?Font(name='微軟雅黑',?size=20,?color='3333CC',?bold=True) >>>?sheet1['B2'].font?=?new_font

單元格背景顏色

>>>?from?openpyxl.styles?import?PatternFill,?colors >>>?sheet1["A2"].fill?=?PatternFill("solid",?fgColor=colors.BLUE) >>>?sheet1["A3"].fill?=?PatternFill("solid",?fgColor='FF66CC')

對齊方式

設置 D2 中的數據 垂直居中 和 水平居中 。

>>>?from?openpyxl.styles?import?Alignment >>>?sheet1['D2'].alignment?=?Alignment(horizontal='center',?vertical='center')

行高/列寬

設置第2行行高為40,C列列寬為20。

>>>?sheet1.row_dimensions[2].height?=?40 >>>?sheet1.column_dimensions['C'].width?=?20

合并/拆分單元格

合并單元格只需要指定左上角和右下角的單元格坐標。

>>>?sheet.merge_cells('A1:C3')

拆分單元格后,合并區域的值會賦給左上角單元格A1。

>>>?sheet.unmerge_cells('A1:C3')

對比Excel系列圖書累積銷量達15w冊,讓你輕松掌握數據分析技能,感興趣的同學可以直接在各大電商平臺搜索書名了解:

總結

以上是生活随笔為你收集整理的10分钟学会用Python轻松玩转Excel的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。