python与excel结合的方法:首先获取工作表的方法和属性,并创建或删除工作表;然后定位单元格并访问;最后使用函数【copy_worksheet】拷贝工作表即可。
python与excel结合的方法:
step1 使用load_workbookr’xlsx文件路径‘)
>>> import openpyxl >>> wb = openpyxl.load_workbookr'D:\\PycharmProjects\\requests\\250.xlsx') >>> typewb) <class 'openpyxl.workbook.workbook.Workbook'>
相关学习推荐:python视频教程
step2 获取工作表的方法和属性
get_sheet_names)或者sheetnames
>>> wb.get_sheet_names) ['Sheet'] >>> wb.sheetnames ['Sheet'] >>> ws = wb.get_sheet_by_name'Sheet') # 工作表对象
step3 创建和删除工作表
create_sheet 创建工作表
remove_sheet 删除工作表删除工作表的对象)
>>> rnx = wb.create_sheetindex = 0,title = 'sheet1') >>> wb.get_sheet_names) ['sheet1', 'Sheet'] # 注意删除工作表时,要删除工作表的对象 ws = wb.get_sheet_by_name'工作表') >>> wb.remove_sheetwb.get_sheet_by_name'sheet1')) >>> wb.sheetnames ['Sheet']
step4 定位单元格
row 行
column 列
coordinate 坐标
offset 偏移 offset行偏移,列偏移)
>>> c = ws['A2'] >>> c.row 2 >>> c.column 'A' >>> c.coordinate 'A2' >>> d = c.offset2,0) >>> d.value '这个杀手不太冷'
step5 ’AA‘是多少
openpyxl.cell.cell.get_column_letter)
openpyxl.cell.cell.column_index_from_string)
>>> openpyxl.cell.cell.get_column_letter27) 'AA' >>> openpyxl.cell.cell.column_index_from_string'AA') 27
step6 访问多个单元格
先迭代行再去迭代列
>>> for each_movies in ws['A2':'B10']: # each_movies是一个元祖 for each_cell in each_movies: printeach_cell.value,end = ' ') print'\\n') 肖申克的救赎 9.6 霸王别姬 9.6 这个杀手不太冷 9.4 阿甘正传 9.4 美丽人生 9.5 泰坦尼克号 9.3 千与千寻 9.3 辛德勒的名单 9.5 盗梦空间 9.3
>>> for each_rows in ws.rows: printeach_rows[1].value) 评分 9.6 9.6 9.4 9.4 .... 8.6
还可以指定迭代多少个
>>> for each_row in ws.iter_rowsmin_row = 2,min_col = 1,max_row = 4,max_col = 2): printeach_row[0].value) 肖申克的救赎 霸王别姬 这个杀手不太冷
step7 拷贝工作表
copy_worksheet工作表)
>>> new = wb.copy_worksheetws) >>> typenew) <class 'openpyxl.worksheet.worksheet.Worksheet'> >>> wb.saver'D:\\PycharmProjects\\requests\\250.xlsx') #注意先把原先打开的excel文件关闭再去运行代码
相关学习推荐:excel基础教程