首頁 > 軟體

Python一步步帶你操作Excel

2022-08-01 14:02:22

➤資料處理是 Python 的一大應用場景,而 Excel 則是最流行的資料處理軟體。因此用 Python 進行資料相關的工作時,難免要和 Excel 打交道。Python處理Excel 常用的系列庫有:xlrd、xlwt、xlutils、openpyxl

◈xlrd - 用於讀取 Excel 檔案,支援.xls和.xlsx格式

◈xlwt - 用於寫入 Excel 檔案,只支援.xls格式

◈xlutils - 操作 Excel 檔案的實用工具,如複製、分割、篩選等

◈openpyxl - 既可以讀檔案、也可以寫檔案、也可以修改檔案;但是,openpyxl 庫不支援 xls 格式的Excel檔案。

一、安裝庫的操作

開啟cmd,輸入命令進行安裝:pip install xlwt

開啟cmd,輸入命令進行安裝:pip install xlrd

開啟cmd,輸入命令進行安裝:pip install openpyxl

二、xlwt庫使用

◈xlwt - 用於寫入 Excel 檔案,只支援.xls格式

1.需求:建立一個新的xls檔案中寫入如下資料,然後儲存為login.xls

2.使用xlwt寫入資料的步驟

1)導包:import xlwt
2)建立一個檔案物件:book=xlwt.Workbook()
3)新增一個sheet工作表:sh1=book.add_sheet(Sheetname)
4)新增內容:sh1.write(row,col,value)  #單元格行和列分別從0開始
5)儲存檔案:book.save(filename)

3.程式碼實現

# coding = utf-8
import xlwt
#建立一個excel檔案物件
book = xlwt.Workbook() 
#添sheet工作表
sh1 = book.add_sheet('登入資料') 
sh1.write(0,0,'使用者名稱') # 在A1單元格寫入資料
sh1.write(0,1,'密碼')   # 在B1單元格寫入資料
row1 = ['test','test123']
# 結合迴圈寫入一行資料
for i in range(len(row1)): 
    sh1.write(1,i,row1[i])
book.save('login.xls') # 儲存檔案

三、xlrd庫使用

◈xlrd - 用於讀取 Excel 檔案,支援.xls和.xlsx格式

1.需求:讀取login.xls檔案中指定的單元格、指定行、指定的列或者所有的資料

2.使用xlrd讀取資料的步驟

1)導包:import xlrd
2)開啟一個檔案:book=xlrd.open_workbook(filename)
3)使用sheet工作表:sh1=book.sheet_by_name(sheet_name)
4)讀取sheet工作表的屬性資訊
  print('sheet總行數',sh1.nrows)
  print('sheet總列數',sh1.ncols)
5)讀取sheet工作表儲存的文字內容
  1)讀取一行:row1=sh1.row_values(row) # 行號從0開始
  2)讀取一列:col1=sh1.col_values(col) # 列號從0開始
  3)讀取一個單元格:cell_value=sh1.cell(row,col).value

3.程式碼實現

# coding = utf-8
import xlrd
book = xlrd.open_workbook('login.xls')
sh1 = book.sheet_by_name('登入資料')
# 讀取第一行的資料
row1 = sh1.row_values(0)
print('第一行資料:',row1)
# 讀取第一列的資料
col1 = sh1.col_values(0)
print('第一列資料:',col1)
# 讀取指定單元格的資料
cell = sh1.cell(1,1).value
print('A2單元格的值:',cell)
# 讀取所有的資料
rows = sh1.nrows  # 獲取當前工作表總的行數
for i in range(rows):
    print('所有資料列印,第{}行,資料為:{}:'.format(i,sh1.row_values(i)))

4.程式碼執行結果展示:

四、openpyxl庫使用-寫入資料

◈openpyxl - 既可以讀檔案、也可以寫檔案、也可以修改Excel檔案;但是不支援 xls 格式

1.需求:對已存在的test_api.xlsx檔案寫入介面測試結果,如下圖所示

2.使用openpyx寫入資料的步驟

1)導包:import openpyxl
2)開啟檔案:book = openpyxl.load_workbook(filename)
3)使用sheet工作表:sheet = book[sheetname]
4) 單元格寫入:sh1['F2'] = 'PASS'  或者 sh1.cell(row,col).value='FAIL'  #行和列的索從1開始
6:儲存檔案:book.save(filename)

3.程式碼實現

# coding = utf-8
import openpyxl
# 開啟excel檔案
book = openpyxl.load_workbook('test_api.xlsx')
# 通過工作表名字開啟工作表
sh1 = book['register']
# 通過單元格的名稱寫入資料
sh1['I2'] = '不通過'
# 通過單元格的行、列寫入資料
sh1.cell(3,9).value = '通過'
# 儲存檔案
book.save('test_api.xlsx')

五、openpyxl庫使用-讀取資料

1.需求:讀取test_api.xls檔案中login工作表指定的單元格、指定行、或者所有的資料

2.使用openpyx讀取資料的步驟

1)導包:import openpyxl
2)開啟檔案:book = openpyxl.load_workbook(filename)
3)使用sheet工作表:sheet = book[sheetname]
4)讀取sheet工作表的屬性資訊
  返回工作表的最大行數:sheet.max_row
  返回工作表的的最大列數:sheet.max_column
5)讀取sheet工作表儲存的文字內容
1)按單元格讀取:cell1 = sh1['A1'].value 或者 cell2= sh1.cell(row,col).value #行和列的索引值是從1開始的
2) 按行讀取

  for row in sheet.iter_rows(max_row=3):# 讀取前3行資料
  for cell in row:
      print(cell.value,end='t')
  print()

3.程式碼實現

# coding = utf-8
import openpyxl
book = openpyxl.load_workbook('test_api.xlsx')
sh1 = book['login']
# 讀取單元格資料
cell1 = sh1['A1'].value
print('A1單元格的值為:',cell1)
cell2 = sh1.cell(1,2).value
print('B1單元格的值為:',cell2)
# 讀取前2行資料
print('讀取前2行資料:') 
for row in sh1.iter_rows(max_row= 2): # 讀取前2行資料
    for cell in row:
        print(cell.value,end='t|t') # 不換行輸出這一行中每個單元格的值
    print() # 輸出完一行之後換行
# 讀取所有的資料
print('讀取所有的資料:')
rows = sh1.max_row  # 獲取當前工作表總的行數
for row in sh1.iter_rows(max_row=rows): # 讀取所有的資料
    for cell in row:
        print(cell.value, end='t|t') # 不換行輸出這一行中每個單元格的值
    print() # 輸出完一行之後換行

4、執行結果

到此這篇關於Python一步步帶你操作Excel的文章就介紹到這了,更多相關Python Excel內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com