1. 程式人生 > 其它 >Python_對excel表格讀寫-openpyxl、xlrd&xlwt

Python_對excel表格讀寫-openpyxl、xlrd&xlwt

openpyxl 和 xlrd&xlwt 都能對excel進行讀寫,但是它們讀寫的格式不同,openpyxl 只能讀寫xlsx格式的excel,xlrd&xlwt 只能讀寫xls格式的excel。

openpyxl

建立excel檔案

import openpyxl
# ====== 建立格式為xlsx的excel檔案 ======
# 建立一個工作簿,若表格已存在,則刪除新建
wb = openpyxl.Workbook()

# 建立一個名為test的sheet
wb.create_sheet('test')

# 儲存檔案。注:建立表格會有兩個sheet,按順序名稱分別為Sheet和test
wb.save('test.xlsx') # 關閉工作薄 wb.close()

讀寫已有excel檔案

import openpyxl

#
====== 開啟已有的excel表格 ====== # 開啟一個工作簿 wb = openpyxl.load_workbook('test.xlsx') # 選擇一個sheet # sheet = wb["Sheet1"] # 通過表名選擇 sheet = wb.worksheets[0] # 通過索引選擇 # 關閉工作薄 wb.close()

對sheet進行讀寫

# coding:utf-8
import openpyxl

# ====== 向sheet寫入資料 ====== # 開啟一個工作簿 wb = openpyxl.load_workbook('test.xlsx') # 選擇一個sheet # sheet = wb["Sheet1"] # 通過表名選擇 sheet = wb.worksheets[0] # 通過索引選擇 # 獲取行數 row = sheet.max_row # 獲取列數 column = sheet.max_column print(row, column) # 寫入資料 sheet.append(["aaa", "bbb", "ccc"]) # 在最後一行寫入一行資料,列表中每一個數據表示每列寫入的資料
sheet.append([1, 2, 3, 4]) # 讀取資料 ce = sheet.cell(row=1, column=1) # 讀取第1行,第1列的資料 print(ce.value) # 更新資料 ce.value = "ddd" # 更新第1行,第1列的資料為 ddd sheet.cell(3, 1, '') # 更新第3行第1列的資料為 空串 # 刪除資料 # 從第2行開始刪除,刪除1行 sheet.delete_rows(2, amount=1) # 刪除第3列 sheet.delete_cols(3) # 儲存檔案 wb.save('test.xlsx') # 關閉工作薄 wb.close()