【Python辦公自動化筆記-Excel篇10】整列或整行求和

更新於 發佈於 閱讀時間約 2 分鐘

"求和"應該是我們在Excel中最常用到的基本數學運算了,利用迴圈和切片的技巧,以下的程式碼能分別印出每個人的總分和各科的總分。

raw-image
openpyxl import load_workbook
path = 'D:/sample.xlsx'
wb = load_workbook(path)
ws = wb['Sheet']

# 印出每個人的總分
for row in list(ws.rows)[1:]: # 拜訪標題列外的每一列
data = [cell.value for cell in row] # 取得該列中每一儲存格的值
print(data[0], sum(data[1:]))

# 印出每科的總分
for col in list(ws.columns)[1:]: # 拜訪標題行外的每一列
data = [cell.value for cell in col] # 取得該行中每一儲存格的值
print(data[0], sum(data[1:]))

wb.save(path)


留言
avatar-img
留言分享你的想法!
avatar-img
阿寶哥的沙龍
1會員
10內容數
阿寶哥的沙龍的其他內容
2023/01/18
實務工作上,我們很可能會遇到需要對每張工作表的某一固定位置儲存格求和的情況。比如說,E5儲存格存放每個月的業績總額,以下的程式碼可以求得一整年的總營業額。 以下的程式碼則是用更具Python風格、更精簡且更漂亮的列表推導式(List Comprehension)來輕鬆達成同樣的功能。
Thumbnail
2023/01/18
實務工作上,我們很可能會遇到需要對每張工作表的某一固定位置儲存格求和的情況。比如說,E5儲存格存放每個月的業績總額,以下的程式碼可以求得一整年的總營業額。 以下的程式碼則是用更具Python風格、更精簡且更漂亮的列表推導式(List Comprehension)來輕鬆達成同樣的功能。
Thumbnail
2023/01/17
我們利用工作表的move_range()方法,可以輕鬆地移動儲存格。其中,rows參數的值表示向下移幾列,cols參數的值表示向右移幾行;當rows參數的值是負數時,則表示向上移幾列;cols參數的值負數時,則表示向上移幾行, 也可以一次移動一整個區塊範圍的儲存格。 利用工作表的freeze_pan
Thumbnail
2023/01/17
我們利用工作表的move_range()方法,可以輕鬆地移動儲存格。其中,rows參數的值表示向下移幾列,cols參數的值表示向右移幾行;當rows參數的值是負數時,則表示向上移幾列;cols參數的值負數時,則表示向上移幾行, 也可以一次移動一整個區塊範圍的儲存格。 利用工作表的freeze_pan
Thumbnail
2023/01/16
我們可以利用工作表的append()方法,在工作表的列尾添加資料列。 利用迴圈的技巧,我們可以批次賦予區塊內所有儲存格相同的值。 我們也可以在指定的列(行)之前插入指定數量的空白列(行),從指定的列(行)開始向下(右)刪除指定數量的列(行)。
Thumbnail
2023/01/16
我們可以利用工作表的append()方法,在工作表的列尾添加資料列。 利用迴圈的技巧,我們可以批次賦予區塊內所有儲存格相同的值。 我們也可以在指定的列(行)之前插入指定數量的空白列(行),從指定的列(行)開始向下(右)刪除指定數量的列(行)。
Thumbnail
看更多