视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
python如何与excel结合
2020-11-02 18:28:58 责编:小采
文档

python与excel结合的方法:首先获取工作表的方法和属性,并创建或删除工作表;然后定位单元格并访问;最后使用函数【copy_worksheet】拷贝工作表即可。

python与excel结合的方法:

step1 使用load_workbook(r’xlsx文件路径‘)

>>> import openpyxl
>>> wb = openpyxl.load_workbook(r'D:PycharmProjects
equests250.xlsx')
>>> type(wb)
<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_sheet(index = 0,title = 'sheet1')
>>> wb.get_sheet_names()
['sheet1', 'Sheet']
# 注意删除工作表时,要删除工作表的对象 ws = wb.get_sheet_by_name('工作表')
>>> wb.remove_sheet(wb.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.offset(2,0)
>>> d.value
'这个杀手不太冷'

step5 ’AA‘是多少

openpyxl.cell.cell.get_column_letter()

openpyxl.cell.cell.column_index_from_string()

>>> openpyxl.cell.cell.get_column_letter(27)
'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:
 print(each_cell.value,end = ' ')
 print('
')
 
肖申克的救赎 9.6 
霸王别姬 9.6 
这个杀手不太冷 9.4 
阿甘正传 9.4 
美丽人生 9.5 
泰坦尼克号 9.3 
千与千寻 9.3 
辛德勒的名单 9.5 
盗梦空间 9.3
>>> for each_rows in ws.rows:
 print(each_rows[1].value)
 
评分
9.6
9.6
9.4
9.4
....
8.6

还可以指定迭代多少个

>>> for each_row in ws.iter_rows(min_row = 2,min_col = 1,max_row = 4,max_col = 2):
 print(each_row[0].value)
 
肖申克的救赎
霸王别姬
这个杀手不太冷

step7 拷贝工作表

copy_worksheet(工作表)

>>> new = wb.copy_worksheet(ws)
>>> type(new)
<class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> wb.save(r'D:PycharmProjects
equests250.xlsx') #注意先把原先打开的excel文件关闭再去运行代码

相关学习推荐:excel基础教程

下载本文
显示全文
专题