openpyxl模塊支持.xls和.xlsx格式的excel創建,但是只支持.xlsx格式的讀取操作,不支持.xls的讀取(可以使用xlrd模塊來讀取,寫入操作也可使用xlwt模塊),也可使用pandas模塊對excel進行讀寫操作。
openpyxl創建新的excel
1 import openpyxl 2 3 #創建工作簿 4 book=openpyxl.Workbook() 5 6 # 創建表 7 table1=book.create_sheet(title="聯系電話",index=0)#title表名;index:自定義表位置 8 table2=book.create_sheet("工作經歷",3) 9 10 #單元格值得插入(可以是具體值,也可以是excel函數語句) 11 table1.cell(1,1,"手機號")#參數為:行,列,數值----表中的行和列都是以索引1開始計數,因此在定位單元格時行列都必須不小於1 12 table1['B1']='年齡' 13 #單元格插入值的另外一種寫法 14 for i in range(2,10): 15 table1.cell(i,1).value=12345 16 table1.cell(i,2).value=i 17 18 # 保存工作簿--可以指定xls或者xlsx 19 book.save("員工信息.xlsx")#參數:文件名
openpyxl讀取已存在excel及操作
1 import openpyxl 2 3 """-----------excel工作簿操作-----------""" 4 # 讀取已有工作簿--注意只支持.xlsx,不支持.xls格式(可以用xlrd模塊讀取) 5 book = openpyxl.load_workbook("員工信息.xlsx") 6 7 # 獲取所有表對象 8 table_list = book.worksheets 9 print(table_list) 10 11 # 獲取所有表名 12 table_name_list = book.sheetnames 13 print(table_name_list) 14 15 # 獲取默認工作表 16 table_default = book.active 17 # table_default=book.get_active_sheet 18 print(table_default) 19 20 # 通過表名獲取指定工作表 21 22 table = book['工作經歷'] 23 print(table) 24 table = book.get_sheet_by_name("聯系電話") 25 print(table) 26 27 # 刪除工作表 28 # del book['Sheet'] 29 30 # 新增工作表 31 # book.create_sheet("sheet1") 32 # book.create_sheet('sheet2') 33 34 35 """-----------表操作-----------""" 36 # 獲取表名 37 table_name = table.title 38 print(table_name) 39 40 # 獲取表中所有行(返回值為迭代器) 41 rows = table.rows 42 print(rows) 43 # for row in table.rows: 44 # for cell in row: 45 # print(cell.value) 46 # 獲取表中最大行值 47 max_row = table.max_row 48 print(max_row) 49 # 獲取表中最小行值 50 min_row = table.min_row 51 print(min_row) 52 53 # 獲取表中所有列(返回值為迭代器) 54 columns = table.columns 55 print(columns) 56 # for column in table.columns: 57 # for cell in column: 58 # print(cell.value) 59 60 # 獲取表中最大列值 61 max_column = table.max_column 62 print(max_column) 63 # 獲取表中最小列值 64 min_column = table.min_column 65 print(min_column) 66 67 # 獲取表中所有行值(返回值為迭代器) 68 values = table.values 69 print(values) 70 print(list(values)) 71 72 """-----------單元格操作-----------""" 73 # 定位單元格及獲取值(三種方式都可) 74 cell = table.cell(1, 1) 75 print(cell.value) 76 cell = table['a1'] 77 print(cell.value) 78 cell = table['A1'] 79 print(cell.value) 80 81 # 設置單元格值(記得save保存) 82 table.cell(2, 1).value = 12221231123 83 table.cell(3, 1, 29019219829) 84 table['a3'] = 33234543246 85 table['A4'] = 432333333 86 87 book.save("員工信息.xlsx") 88 # book.close()
python操作excel的模塊對比