当前位置: 首页 > 后端技术 > Python

openpyxl(办公自动化)基本操作

时间:2023-03-26 11:52:37 Python

openpyxl介绍openpyxl是一个第三方库,可以处理xlsx格式的Excel文件,即Excel2003及以上版本的Excel文件。(2003版可以使用xlrd和xlwt这两个库来阅读,但是个人建议最好还是用pandas来处理xls文件。)第一步在cmd中安装openpyxl库,输入pipinstallopenpyxl-ihttps://pypi.doubanio.com/simple(笔者这里使用的是豆瓣源,下载速度会比国内源快很多,如果国内源已经配置好了,直接输入-i(前面部分)-createafilefromopenpyxlimportWorkbook#方法1该方法默认表名是Sheetwb=Workbook()ws=wb.active#创建一个newSheet#方法2这个有两种自定义表格名称和插入位置的方法,如果输入位置,默认是0ws=wb.create_sheet('Shee1',0)-打开文件fromopenpyxlimportload_workbookwb=load_workbook('xxx.xlsx')-获取表名#获取所有Sheet的名称,得到所有Sheet名称的列表sheet_names=wb.sheetnames-SelectSheet#方法一直接读取Excel中选中的Sheetws=wb.active#方法二自己输入Sheet的名字ws=wb['Sheet']-storedatafromopenpyxlimportWorkbookwb=Workbook()ws=wb.active#第一类row是row,column是columnws.cell(row=1,column=2).value=1#可以直接简化为ws.cell(1,2).value=1#方法二ws['B1'].value=1#一次添加一行数据ws.append([1,2,3,'4'])#注意这里添加的数字一定要用方括号括起来#最后记得保存数据wb.save('filename.xlsx')-readdatafromopenpyxlimportload_workbook#这里的test.xlsx文件在py中新建一个文件的同一目录并填写数据wb=load_workbook('test.xlsx')ws=wb.active#Readacellmethodprint(ws['A1'].value)#read取一个单元格方法2print(ws.cell(1,1).value)#读取单元格的值和存储单元格的值类似,一个是读出值,一个是赋值valuein-获取Sheet表格的最大行数和列数fromopenpyxlimportload_workbookwb=load_workbook('test.xlsx')ws=wb.active#获取最大行数max_r=ws.max_row#获取最大行数columnsmax_c=ws.max_column-列字母和坐标数字相互转换fromopenpyxl.utilsimportget_column_letter,column_index_from_stringfromopenpyxlimportWorkbookwb=Workbook()ws=wb.active#根据列打印的数字返回字母(get_column_letter(3))#C#根据字母返回列号print(column_index_from_string('D'))#4-遍历单元格fromopenpyxlimportload_workbookwb=load_workbook('test.xlsx')ws=wb.active#注意#openpyxl读取Excel的索引从1开始#因为range函数是左闭右开,然后加上索引从1开始,所以最大值一定是+1foriinrange(1,ws.max_row+1):forjinrange(1,ws.max_column+1):print(ws.cell(i,j).value)下一篇会写一些openpyxl的高级操作,比如格式化单元格,颜色等等,喜欢文章可以关注我。如果您觉得文章对您有用,请点赞收藏。