1.安装openpyxl模块
- win+R并输入cmd打开命令行
- 输入pip install openpyxl
- 等待完成安装
在Python中输入import openpyxl检验安装是否成功:若没有报错,说明安装成功。
2.读取excel文档
(1)用openpyxl模块打开excel文档 load_workbook(‘文件名.xlsx’)
import openpyxl
wb = openpyxl.load_workbook('ADPscheduling.xlsx')
print(type(wb)) #测试wb类型
输出结果:
<class 'openpyxl.workbook.workbook.Workbook'>
(2)从工作簿中取得工作表 .sheetnames
每个表由一个Worksheet 对象表示,可以通过[‘表名’]传递表名字符串获得。最后,可以调用.active,取得工作簿的活动表。活动表是工作簿在Excel 中打开时出现的工作表。在取得Worksheet对象后,可以通过title 属性取得它的名称。
import openpyxl
wb = openpyxl.load_workbook('ADPscheduling.xlsx')
sheets = wb.sheetnames
print(sheets)
sheet2=wb['Sheet2']
print(sheet2)
sheet1=wb.active
print(sheet1)
输出结果:
['Parameter lambda^arrival', 'Sheet2', 'Sheet3']
<Worksheet "Sheet2">
<Worksheet "Parameter lambda^arrival">
(3)从表中取得单元格 工作簿[工作表][单元格]
单元格的属性有value、row、column、coordinate
import openpyxl
wb = openpyxl.load_workbook('ADPscheduling.xlsx')
sheet1=wb['Parameter lambda^arrival']
print(sheet1)
c=sheet1['B11']
print(c)
print(c.value)
print("Row " + str(c.row) + ",Column " + str(c.column) + " is " + str(c.value) + ".")
print("Cell " + c.coordinate + " is " + str(c.value) +".")
输出结果:
<Worksheet "Parameter lambda^arrival">
<Cell 'Parameter lambda^arrival'.B11>
1.3694e-05
Row 11,Column 2 is 1.3694e-05.
Cell B11 is 1.3694e-05.
根据行号和列号寻找
d=sheet1.cell(row=3,column=2)
print(d)
print(d.value)
for i in range(3,10,2):
print(i,sheet1.cell(row=i,column=2).value)
输出结果:
<Cell 'Parameter lambda^arrival'.B3>
0
3 0
5 0
7 2.8e-08
9 8.05e-07
寻找最大行、列
print(sheet1.max_row)
print(sheet1.max_column)
(4)从表中取得行和列
3.写入excel文档
(1)创建并保存excel文档
-
创建新的excel文档
-
在原有excel文档的基础上创建新工作表
-
在原有excel文档的基础上修改工作表
import openpyxl
wb = openpyxl.load_workbook('ADPscheduling.xlsx')
sheet2=wb['Sheet2']
sheet2.title="job number"
wb.save('ADPscheduling.xlsx')