python操作excel----openpyxl模块

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的模块对比

  

 

posted @ 2019-08-18 01:49  笑得好美  阅读(2472)  评论(0编辑  收藏  举报