Python-openpyxl表格读取写入的案例详解
1.为何选择openpyxl模块
xlxd、xlwt、–只能读取,openpyxl、可以读取写入
2.安装
pipinstall-ihttps://pypi.douban.com/simpleopenpyxl==2.6.2
3.处理对象
openpyxl只能处理xlsx格式的excel文件,只能使用办公软件来创建xlsx格式的excel文件,不能使用pycharm来创建
excel对象->sheet表单对象->cell单元格对象->行和列、值属性
如果excel文件不存在,那么会FileNotFoundError
res=load_workbook(“testcase11.xlsx”)
4.代码案例
fromopenpyxlimportload_workbook
#load_workbook,往往对已存在的excel进行读写操作
classHandle_excel:
def__init__(self,filename,sheetname=None):
self.filename=filename
self.sheetname=sheetname
defread_data(self):
"""
读取表格数据
:return:
"""
wb=load_workbook(self.filename)
ifself.sheetnameisNone:
ws=wb.active#active默认读取第一个表单
else:
ws=wb[self.sheetname]#读取指定表单
testcase_list=[]#所有数据信息
header_list=[]#表头信息
forrowinrange(1,ws.max_row+1):
one_row_dict={}#每一行数据信息
forcolumninrange(1,ws.max_column+1):
one_cell_value=ws.cell(row,column).value#cell方法,获取单元格,返回Cell对象
ifrow==1:
header_list.append(one_cell_value)
else:
key=header_list[column-1]
one_row_dict[key]=one_cell_value
ifrow!=1:
testcase_list.append(one_row_dict)
returntestcase_list
defwrite_data(self,row,column,data):
"""
写操作
:paramrow:指定在某一行写
:paramcolumn:指定在某一列写
:paramdata:待写入的数据
:return:
"""
#将数据写入到excel中,不能与读取操作公用一个Workbook对象
#如果使用同一个Workbook对象,只能将最后一次写入成功,会出现意想不到的结果
wb=load_workbook(self.filename)
ifself.sheetnameisNone:
ws=wb.active
else:
ws=wb[self.sheetname]
#第一种写入方式:
#one_cell=ws.cell(row,column)
#one_cell.value=data
#第二种写入方式:
ws.cell(row,column,value=data)
#c.PermissionError:[Errno13]Permissiondenied:'testcase.xlsx'
#对exel文件修改之后,要保存,一定要将excel文件关闭
wb.save(self.filename)
if__name__=="__main__":
excel_name=“testcase.xlsx"
sheet_name="login"
do_excel=Handle_excel(excel_name,sheet_name)
print(do_excel.read_data())
#do_excel.write_data(3,4,5)
到此这篇关于Python-openpyxl表格读取写入的案例详解的文章就介绍到这了,更多相关Python表格读取写入内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。