【Python辦公自動化筆記-Excel篇5】存取區塊儲存格

更新於 2023/01/21閱讀時間約 2 分鐘
區塊儲存格
假設我們有一張工作表如下,而我們打算讀取C3:D6區塊儲存格的值。
sample.xlsx
from openpyxl import load_workbook
path = 'D:/sample.xlsx'
wb = load_workbook(path)
ws = wb['竹科1']
cell_range = ws['C3:D6']
以下的程式碼可以列印出C3:D6區塊儲存格的資料,注意openpyxl預設是採以列為主(row-major)拜訪儲存格。
for row in cell_range:  # 預設以列為主拜訪
print(row)

for row in cell_range:
for cell in row:
print(cell.value)
如果需要以行為主(column-major)的方式印出區塊儲存格的值,可以改用以下的程式碼。
for col in ws.iter_cols\
(min_row = 3, max_row = 6, min_col = 3, max_col = 4):
for cell in col:
print(cell.value)
列印整張工作表
以下的程式碼採以行為主的方式,印出整張工作表各儲存格的值。
for col in ws.columns:
for cell in col:
print(cell.value)
想當然爾,利用工作表的rows屬性也可以印出整張工作表各儲存格的值。
以下則是用可能最精簡的的程式碼,達到同樣的目的;但是輸出的資料格式略有不同,有興趣的朋友們不妨猜猜看會有什麼樣的結果。
print(list(ws.values))

整列或整行資料的選取
你可以用ws('3:6')選取第3列到第6列,ws('C:D')選取C行到D行。
行號英數字轉換
此外,你可以將英文字母表示的行號和數字表示的行號互相進行轉換。
import openpyxl
print(openpyxl.utils.get_column_letter(2)) # 輸出 B
print(openpyxl.utils.column_index_from_string('Z') # 輸出 26
即將進入廣告,捲動後可繼續閱讀
為什麼會看到廣告
avatar-img
1會員
10內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
阿寶哥的沙龍 的其他內容
儲存格的存取和變數的存取一樣直覺與簡單,但是要注意儲存格的值和儲存格物件是兩個不同的東東;其中,儲存格的值是儲存格物件的一個屬性(value)。工作表ws中儲存格A4可以用ws['A4']這樣的方式表示,也可以用ws.cell(row = 4, column = 2)表示,或簡單地用ws.cell(
學會了工作簿和工作表基本的操作後,讓我們來做一些練習。 1. 新建一個工作簿,並在其內新增12張工作表;將工作表的名稱分別定為1月、2月、3月……12月。 解答: 2. 續上題,批次將工作表的名稱更改為竹科1月、竹科2月、竹科3月……竹科12月。 解答:
一、命名工作表 二、新增工作表 你可以使用create_sheet()方法來新增一張工作表,並命名新的工作表名稱。 三、複製工作表 你可以使用copy_worksheet()方法來複製一張工作表。 四、列印所有工作表名稱 五、刪除工作表 你可以使用remove()方法來刪除工作表"物件"。 注意:
一、套件安裝 在使用Python操控Excel前,需要先安裝openpyxl模組。 二、建立工作簿 不需要先建立Excel檔案,就可以開始使用openpyxl;只要引用Workbook類別,就可以開始工作。 一個工作簿被建立起來的時候,至少會含有一張工作表。你可以用active屬性來使用這張工作表。
儲存格的存取和變數的存取一樣直覺與簡單,但是要注意儲存格的值和儲存格物件是兩個不同的東東;其中,儲存格的值是儲存格物件的一個屬性(value)。工作表ws中儲存格A4可以用ws['A4']這樣的方式表示,也可以用ws.cell(row = 4, column = 2)表示,或簡單地用ws.cell(
學會了工作簿和工作表基本的操作後,讓我們來做一些練習。 1. 新建一個工作簿,並在其內新增12張工作表;將工作表的名稱分別定為1月、2月、3月……12月。 解答: 2. 續上題,批次將工作表的名稱更改為竹科1月、竹科2月、竹科3月……竹科12月。 解答:
一、命名工作表 二、新增工作表 你可以使用create_sheet()方法來新增一張工作表,並命名新的工作表名稱。 三、複製工作表 你可以使用copy_worksheet()方法來複製一張工作表。 四、列印所有工作表名稱 五、刪除工作表 你可以使用remove()方法來刪除工作表"物件"。 注意:
一、套件安裝 在使用Python操控Excel前,需要先安裝openpyxl模組。 二、建立工作簿 不需要先建立Excel檔案,就可以開始使用openpyxl;只要引用Workbook類別,就可以開始工作。 一個工作簿被建立起來的時候,至少會含有一張工作表。你可以用active屬性來使用這張工作表。
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
在讀取檔案時,最怕路徑的問題,常常會有路徑錯誤造成的異常報錯。 為了避免諸如此類的問題發生,明白程式的當前目錄與檔案的路徑是很重要的。 可以利用os 模組是 Python 中的一個標準庫,提供了許多與操作系統的功能。 以下是一些常用的 os 模組基本操作及其範例: 1. os.getcwd
解讀JSON 字串 首先,你需要使用 Python 的 json 模組來解讀JSON 字串。 JSON的基本結構: 由花括號 {} 包圍,內部是鍵值對的集合,每個鍵值對之間用逗號分隔。 鍵是字串類型,值可以是任何JSON支持的資料類型(字串、數字、布林值、陣列、物件或 null)。 {
Thumbnail
在上一篇教學中,我們學會了如何創建簡易且免費的資料庫,而本篇我們就來學習如何利用python與SQL進行結合,並將資訊傳遞到LINE BOT之中,我們將以簡單的股票追蹤清單作為教學,如果還沒看過上一篇如何安裝SQL Server 2019 免費開發版的人記得先去安裝唷!!
Thumbnail
對於程式的初學者而言,理解程式的流程、迴圈的進行、或是變數的變化會需要一定程度將程式在腦中進行運算的能力,要一段時間熟悉與適應,尤其是當程式執行的結果不如預期時,往往是計算的過程和自己所想像的不同,這時又更難靠自己的能力找出錯誤。因此,這邊要介紹的這個工具可以將程式執行的過程逐行將變數的變化視覺化地
Thumbnail
在上一篇我們教學了如何爬取歷年股利資訊,今天我們就來爬取更多的資訊,這次是要爬取個股同業比較的資訊,但這次不再跟之前一樣,只是單純的爬蟲而已,因為這次我們遇到了「需要登入」才能拿到的資訊,我們就來看看要如何爬取吧!!
Thumbnail
還記得之前介紹我的LINE Bot中第一個功能嗎?沒錯,就是部落格的選單,這選單看起來是不是比較華麗一點,但其實製作上相當簡單就可以完成,要如何製作就是我們今天要教的「客製化選單」
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
在讀取檔案時,最怕路徑的問題,常常會有路徑錯誤造成的異常報錯。 為了避免諸如此類的問題發生,明白程式的當前目錄與檔案的路徑是很重要的。 可以利用os 模組是 Python 中的一個標準庫,提供了許多與操作系統的功能。 以下是一些常用的 os 模組基本操作及其範例: 1. os.getcwd
解讀JSON 字串 首先,你需要使用 Python 的 json 模組來解讀JSON 字串。 JSON的基本結構: 由花括號 {} 包圍,內部是鍵值對的集合,每個鍵值對之間用逗號分隔。 鍵是字串類型,值可以是任何JSON支持的資料類型(字串、數字、布林值、陣列、物件或 null)。 {
Thumbnail
在上一篇教學中,我們學會了如何創建簡易且免費的資料庫,而本篇我們就來學習如何利用python與SQL進行結合,並將資訊傳遞到LINE BOT之中,我們將以簡單的股票追蹤清單作為教學,如果還沒看過上一篇如何安裝SQL Server 2019 免費開發版的人記得先去安裝唷!!
Thumbnail
對於程式的初學者而言,理解程式的流程、迴圈的進行、或是變數的變化會需要一定程度將程式在腦中進行運算的能力,要一段時間熟悉與適應,尤其是當程式執行的結果不如預期時,往往是計算的過程和自己所想像的不同,這時又更難靠自己的能力找出錯誤。因此,這邊要介紹的這個工具可以將程式執行的過程逐行將變數的變化視覺化地
Thumbnail
在上一篇我們教學了如何爬取歷年股利資訊,今天我們就來爬取更多的資訊,這次是要爬取個股同業比較的資訊,但這次不再跟之前一樣,只是單純的爬蟲而已,因為這次我們遇到了「需要登入」才能拿到的資訊,我們就來看看要如何爬取吧!!
Thumbnail
還記得之前介紹我的LINE Bot中第一個功能嗎?沒錯,就是部落格的選單,這選單看起來是不是比較華麗一點,但其實製作上相當簡單就可以完成,要如何製作就是我們今天要教的「客製化選單」