一.安裝
二.使用
python中對excel表格操作的插件有很多,比如xlwd\xlrt. 而openpyxl只支持excel03之后的版本
1.寫入
from openpyxl import Workbook wb = Workbook() #創建工作簿 wb1 = wb.create_sheet('index',0) #修改名稱 wb1.title = 'test' # 添加數據 wb1['A1'] = 4 wb1['A2'] = 5 # 添加函數 wb1['A3'] = '=sum(A1:A2)' # 添加數據的第二種方式 wb1.cell(row=2,column=3,value='cell插入的值') # 添加一行數據 wb1.append(['姓名','年齡','address']) # 添加一個空行 wb1.append([]) # 添加一行數據 wb1.append(['xxx','18','北京']) wb.save('1.xlsx')
結果
2.讀取
用上面的表作為示例
from openpyxl import load_workbook wb = load_workbook('1.xlsx', data_only=True) # 還有一個參數 read_only = True # 獲取工作簿的名稱 print(wb) # <openpyxl.workbook.workbook.Workbook object at 0x00000231EE0C30B8> wb1 = wb['test'] # 讀方式1 print(wb1['A2'].value) # 讀函數的時候,要加data_only=True, 要手動的修改並保存 print(wb1['A5'].value) # 讀的第二種方法 print(wb1.cell(row=3, column=1).value) # 獲取所有行的數據 for row in wb1.rows: # 獲取每一個單元格的數據 for c in row: print(c.value) # 獲取所有列的數據 for column in wb1.columns: # 獲取每一個單元格的數據 for r in column: print(r.value) # 獲取最大的行數 print(wb1.max_row) # 6 # 獲取最大的列數 print(wb1.max_column) # 3