標籤:cto c11 文檔 not load 例子 com ado sha
安裝對excel操作的模組:
openpyxl
1.excel中的基本定義
- 活頁簿(workbook):整個excel表哥檔案稱為一個活頁簿
- 工作表(sheet):一個活頁簿中有多個工作表
- 活動表(active sheet):儲存檔案時候停留在那個表,那個表就被稱為活動表
- 行(row): 1,2,3,4,5,6........
- 列(column): A,B,C,D......
- 儲存格(cell); B1,C1,C5......
例子1
import openpyxl#開啟一個excel文檔wb = openpyxl.load_workbook(‘/home/kiosk/Desktop/student.xlsx‘)print(wb)print(type(wb))#查看活頁簿的所有工作表print(wb.sheetnames)#查看當前活動表print(wb.active)"""運行結果:<openpyxl.workbook.workbook.Workbook object at 0x7fd69d613278><class ‘openpyxl.workbook.workbook.Workbook‘>[‘學生表‘, ‘Sheet2‘, ‘Sheet3‘]<Worksheet "Sheet3">"""#選擇要操作的工作表,返回工作表對象sheet = wb[‘學生表‘]print(wb.active)#擷取工作表的名稱print(sheet.title)"""運行結果:<Worksheet "Sheet3"> #這裡可以看到,活動表還是Sheet3,它並沒有因為選擇了其他動作的工作表而改變學生表"""cell = sheet[‘B1‘]print(cell)print(cell.row,cell.column)print(cell.value)"""運行結果:<Cell ‘學生表‘.B1>1 B張三"""
執行個體2
有excel表格檔案如下:
將表格式資料讀出,按B列的資料從小到大排序後寫入檔案stores.txt
import openpyxldef readwb(wbname,sheetname=None): li = [] wb = openpyxl.load_workbook(wbname) if not sheetname: sheet = wb[wb.active.title] else: sheet = wb[sheetname] for row in sheet.rows: row_li = [cell.value for cell in row] li.append(row_li) return lis = input(‘請輸入活頁簿名字 工作表名字(預設為活動表):‘).split()if len(s) == 1: li = readwb(s[0])else: li = readwb(s[0],s[1])li = sorted(li,key=lambda x:x[1])with open(‘stores.txt‘,‘w‘) as f: for i in li: f.write(i[0]+‘:‘+str(i[1])+‘:‘+str(i[2])+‘\n‘)
結果
Python學習—對excel表格的操作