读excel
from openpyxl import load_workbook
fileName = 'data.xlsx'
wb = load_workbook(fileName)
sheet = wb.active # 获取当前被激活的工作薄
print(sheet.max_row) # 最大行数
print(sheet.max_column) # 最大列数
'''
方法一:
- 通过获取sheet的所有行数据, 并获取每行数据返回的cell对象得到其value值
- row值为元组数据
'''
for row in sheet.rows:
name, sex = row
print('%s--%s' % (name.value, sex.value))
'''
方法二:
- 获取sheet的最大行数, 并利用range()对sheet进行遍历
- 从2开始目的是为了排除A1,B1等标题行
- cell()可通过数字获取对应单元格
'''
for ri in range(2, sheet.max_row + 1):
name = sheet.cell(row = ri, column = 1)
sex = sheet.cell(row = ri, column = 2)
print('%s--%s' % (name.value, sex.value))
结果为:
写excel
from openpyxl import Workbook
# 操作工作表
wb = Workbook()
# 创建工作薄, 并在最前
sheet = wb.create_sheet('Sheet1', 0)
# 待写入的数据
data = [
['Mike', '18'],
['Jack', '18'],
['Jerry', '18'],
['Jacky', '18'],
]
# 定义标题行
sheet.cell(1, 1, 'name')
sheet.cell(1, 2, 'age')
# 将数据以行的形式添加到工作薄中
for row in data:
sheet.append(row)
# 保存工作表
wb.save('examples.xlsx')
结果为: