Python學習—對excel表格的操作
阿新 • • 發佈:2018-09-09
默認 -o NPU class ios 結果 技術 inpu 一個 安裝對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 openpyxl def 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 li s = 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表格的操作