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,29019219829) 84 table[‘a3‘] = 33234543246 85 table[‘A4‘] = 432333333 86 87 book.save("员工信息.xlsx") 88 # book.close()
python操作excel的模块对比