您的位置:首页 > 健康 > 美食 > seo精华网站_优购网官方网上商城_广告开户南京seo_苏州网站开发公司

seo精华网站_优购网官方网上商城_广告开户南京seo_苏州网站开发公司

2025/1/10 10:06:04 来源:https://blog.csdn.net/weixin_41657202/article/details/142728101  浏览:    关键词:seo精华网站_优购网官方网上商城_广告开户南京seo_苏州网站开发公司
seo精华网站_优购网官方网上商城_广告开户南京seo_苏州网站开发公司

中午记了一篇学习笔记,内容是关于通过“使用区域(used_range)”循环读取单元格数据的的方法,下午继续补充通过“使用区域”循环读取单元格注释的方法

这次换一种打开Excel的写法,使用with语句。实践发现,该方法可以在程序崩溃时自动关闭后台的Excel

import xlwings as xwfile_path = r'...\AAA.xlsx'with xw.App(visible=False,add_book=False) as app_e:# 0、打开Excel文件work_book = app_e.books.open(file_path)# 1、选取sheet页sht = work_book.sheets[0]# 2、获得使用区域used_range = sht.used_range# 3、循环读取注释(使用了Excel的api)list_cell_comment = []for row in uesd_range:    # 其实这里的row指的是该区域中一整行的单元格,并不是指行号,写成cells_in_one_row更好理解for cell in row:comment = cell.api.Comment    # 读取注释if comment:# 没有注释时返回一个None值,此处为了读取注释文本不报错,加了一个!=None的过滤comment = comment.Text()    # 用了api后,相关方法要用大写开头list_cell_comment.append(comment)print(f'list_cell_comment:\t{list_cell_comment}')# 手写代码,复制需谨慎,理解着用

方法2:

在下午的实践中,发现可以直接从sht.used_range中读取注释,循环上少了一层,速度能快不少

import xlwings as xwfile_path = r'...\AAA.xlsx'with xw.App(visible=False,add_book=False) as app_e:# 0、打开Excel文件work_book = app_e.books.open(file_path)# 1、选取sheet页sht = work_book.sheets[0]# 2、获得使用区域used_range = sht.used_range# 3、开始循环读取注释list_cell_comment = []for cell in used_range:comment = cell.api.Commentif comment:comment = comment.Text()list_cell_comment.append(comment)print(f'list_cell_comment:\t{list_cell_comment}')
# 还是用到了Excel的api,只不过循环used_range处只用了一层循环

方法1和方法2都用了api,这个api可能是win32com的,xlwings能不能再争气一点,有个自己读取注释的方法,不要总是用别人的api...

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com