import openpyxl
# 第一步打开工作薄(读取excel文件中的数据保存为工作簿)
workbook = openpyxl.load_workbook(r"C:\Users\Administrator\Desktop\11.xlsx")
print(workbook)
# 第二步,选中表单对象
sheet = workbook["login"] # excle对应sheet名称
print(sheet)
# 第三步:1.通过表单选中表格读取数据
data = sheet.cell(row=2, column=3)
print(data)
print(data.value)
# 2.写入内存数据
sheet.cell(row=2, column=6, value=7)
# 写入内存数据,需要保存才会生效
workbook.save(r"C:\Users\Administrator\Desktop\11.xlsx") # 文件一定要关掉
# 3获取最大的行和列,不要随便在excle中写入空格,否者会增加对应的空格
print(sheet.max_row)
print(sheet.max_column)
# 4.rows:按行获取所有的格子对象,每一行的格子放入一个元组
# print(list(sheet.rows))
# 读取excle的类
'''
封装为了使用更加方便,提高代码的重用率
'''
class ReadExcle(object):
def __init__(self, filname, sheet_name):
"""
:param filname: excle的文件名称
:param sheet_name: sheet的名称
"""
self.filename = filname
self.sheet_name = sheet_name
def open(self):
self.wb = openpyxl.load_workbook(self.filename)
self.sh = self.wb[self.sheet_name]
def save(self):
"""
报错工作簿的方法
:return:
"""
self.wb.save(self.filename)
self.wb.close() # 主要作用释放内存
def read_data(self):
"""
读取数据
#1打开工作簿,选中表单
:return:
"""
self.open()
# 获取最大的行
max_row = self.sh.max_row
max_colmn = self.sh.max_column
datas = []
for i in range(1, max_row + 1):
date = []
for j in range(1, max_colmn + 1):
date1 = self.sh.cell(i, j).value
date.append(date1)
datas.append(date)
title = datas[0]
print("data===", datas)
cases = []
for data in datas[1:]:
case = dict(zip(title, data))
cases.append(case)
return cases
def write_data(self):
pass
excel = ReadExcle(r"C:\Users\Administrator\Desktop\12.xlsx", "login")
excel.read_data()