| 數值 | 類型 | 說明 |
|---|---|---|
| 0 | empty | 空 |
| 1 | string | 字符串 |
| 2 | number | 數字 |
| 3 | date | 日期 |
| 4 | boole | 布爾值 |
| 5 | error | 錯誤 |
代碼
import xlrd
# 打開 xls文件
wb = xlrd.open_workbook("example-2021-03-09.xls")
# 獲取并打印 sheet 數量
print("sheet 數量:", wb.nsheets) # sheet 數量: 2
# 獲取并打印 sheet 名稱
print("sheet 名稱:", wb.sheet_names()) # sheet 名稱: ['Score Sheet', 'Record Test Sheet']
# 根據 sheet 索引獲取內容
sh1 = wb.sheet_by_index(0)
# 或者
# 也可根據 sheet 名稱獲取內容
# sh = wb.sheet_by_name('Score Sheet')
# 獲取并打印該 sheet 行數和列數
print(u"sheet: %s表單 共 %d 行 %d 列" % (sh1.name, sh1.nrows, sh1.ncols)) # sheet: Score Sheet表單 共 4 行 8 列
# 獲取并打印某個單元格的值
print("第一行第二列的值為:", sh1.cell_value(0, 1)) # 第一行第二列的值為: 班級
# 獲取整行或整列的值
row_info = sh1.row_values(0) # 獲取第一行內容
col_info = sh1.col_values(1) # 獲取第二列內容
# 打印獲取的行列值
print("第一行的值為:", row_info) # 第一行的值為: ['時間', '班級', '姓名', '語文', '數學', '英語', '理綜', '總分']
print("第二列的值為:", col_info) # 第二列的值為: ['班級', '高三三班', '高三三班', '高三三班']
# 獲取單元格內容的數據類型,注意這里的值 另有含義
print("第二行第一列的【值類型】為:", sh1.cell(1, 0).ctype) # 第二行第一列的【值類型】為: 3
# 遍歷所有表單內容
for sh in wb.sheets():
for r in range(sh.nrows):
# 輸出指定行內容,這里包含原有類型指定,不能直接獲取到指定列的值
row_val_list = sh.row(r)
print(row_val_list)
# [text:'時間', text:'班級', text:'姓名', text:'語文', text:'數學', text:'英語', text:'理綜', text:'總分']
# 遍歷行內,輸出當前行內的所有列值
col_val_list = [col_val.value for col_val in row_val_list]
print(col_val_list)
修改 Excel 是通過 xlutils 庫的 copy 方法將原來的 Excel 整個復制一份,然后再做修改操作,最后再保存
修改前

修改后

上代碼
import xlrd
from xlutils.copy import copy
# 打開 excel 文件, 帶格式復制
read_book = xlrd.open_workbook("example-2021-03-09.xls", formatting_info=True)
# 復制一份
wb = copy(read_book)
# 選取第一個表單
sh1 = wb.get_sheet(0)
# 在第五行新增寫入數據
sh1.write(4, 0, '2020-12-16')
sh1.write(4, 1, '高三三班')
sh1.write(4, 2, '小魚仙倌兒')
sh1.write(4, 3, 150)
sh1.write(4, 4, 150)
sh1.write(4, 5, 150)
sh1.write(4, 6, 300)
# 選取第二個表單
sh2 = wb.get_sheet(1)
# 替換總成績數據
sh2.write(1, 2, 100)
# 保存
wb.save('example-2021-03-09.xls')
注意,復制 xls這里有格式問題
似乎沒有任何簡單的方法可以保留單元格的格式;它總是被吹走并設置為空白。
https://www.coder.work/article/80896
https://zhuanlan.zhihu.com/p/128674458
附錄
參考:http://www.ityouknow.com/python/2019/12/29/python-excel-103.html
官網:http://www.python-excel.org/
到此這篇關于python讀寫修改Excel之xlrdxlwtxlutils的文章就介紹到這了,更多相關python讀寫修改Excel內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!
標簽:西寧 梅州 錫林郭勒盟 懷化 石家莊 昆明 浙江 文山
巨人網絡通訊聲明:本文標題《python讀寫修改Excel之xlrd&xlwt&xlutils》,本文關鍵詞 python,讀寫,修改,Excel,之,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。