Python处理excel表格

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')

你可能感兴趣的:(Python,python,excel)