python调用excel的宏_Python xlwings 调用Excel的工具.pdf

Python xlwings 调用Excel的工具.pdf

(00)Python 使用讀寫excel 檔案

Python 使用openpyxl 讀寫excel 檔案

這是一個協力廠商類別庫,可以處理 xlsx 格式的Excel 檔案 。pip install

openpyxl 安裝。如果使用Aanconda ,應該自帶了。

讀取Excel 檔案

需要導入相關函數。

1. from openpyxl import load_workbook

2.

3. # 默認可讀寫,若有需要可以指定write_only 和read_only 為True

4. wb = load_workbook ('mainbuilding33.xlsx')

默認打開的檔案為可讀寫,若有需要可以指定參數 read_only 為 True 。

獲取工作表--Sheet

1. # 獲得所有 sheet 的名稱

2. print(wb.get_sheet_names ())

3. # 根據 sheet名字獲得sheet

4. a_sheet = wb.get_sheet_by_name ('Sheet1')

5. # 獲得 sheet名

6. print(a_sheet.title)

7. # 獲得當前正在顯示的 sheet, 也可以用wb.get_active_sheet()

8. sheet = wb.active

獲取單元格

1. # 獲取某個單元格的值,觀察excel發現也是先字母再數字的順序,即先列再行

2. b4 = sheet['B4']

3. # 分別返回

4. print(f'({b4.column}, {b4.row}) is {b4.value}') # 返回的數字就是int型

5.

6. # 除了用下標的方式獲得,還可以用cell 函數, 換成數字,這個表示B4

7. b4_too = sheet.cell (row=4, column=2)

8. print(b4_too .value)

b4.column 返回 B, b4.row 返回4, value 則是那個單元格的值。另外cell 還有一

個屬性 coordinate, 像b4 這個單元格返回的是座標 B4 。

獲得最大行和最大列

1. # 獲得最大列和最大行

2. print(sheet.max_row)

3. print(sheet.max_column)

獲取行和列

• sheet.rows 為生成器, 裏面是每一行的資料 ,每一行又由一個tuple 包裹。

• sheet.columns 類似,不過裏面是每個tuple 是每一列的單元格。

1. # 因為按行,所以返回A1, B1, C1 這樣的順序

2. for row in sheet.rows:

3. for cell in row:

4. print(cell.value)

5.

6. # A1, A2, A3 這樣的順序

7. for column in sheet.columns:

8. for cell in column:

9. print(cell.value)

上面的代碼就可以獲得所有單元格的資料。如果要獲得某行的資料呢?給其一個

索引就行了,因為 sheet.rows 是生成器類型,不能使用索引,轉換成list 之後

再使用索引,list(sheet.rows)[2]這樣就獲取到第三行的tuple 對象。

1. for cell in list (sheet.rows)[2]:

2. print(cell.value)

如何獲得任意區間的單元格?

可以使用 range 函數,下面的寫法,獲得了以A1 為左上角,B3 為右下角矩形

區域的所有單元格。注意 range 從 1 開始的,因為在openpyxl 中為了和Excel 中

的表達方式一致,並不和編程語言的習慣以0 表示第一個值。

1. for i in range (1, 4):

2. for j in range (1, 3):

3. print(sheet.cell (row=i, column=j))

4.

5. # out

6.

7.

8.

9.

10.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值