python3读取Excel(包含合并单元格)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python3读取Excel(包含合并单元格),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1841字,纯文字阅读大概需要3分钟。
内容图文
![python3读取Excel(包含合并单元格)](/upload/InfoBanner/zyjiaocheng/624/586cb889c14847299a4baecfadeba863.jpg)
https://www.jianshu.com/p/24a693fff4a3
# -*- coding: utf-8 -*- import xlrd import uuid class Student(): def __init__(self, id, **kw): self.id = id for k, v in kw.items(): setattr(self, k, v) def __str__(self): return '%s(id=%s,column1=%s,column2=%s,column3=%s,column4=%s)' % ( self.__class__.__name__, self.id, self.column1, self.column2, self.column3, self.column4) def read_excel(): # 打开文件 workbook = xlrd.open_workbook(r'py.xlsx') # 获取所有sheet print('打印所有sheet:', workbook.sheet_names()) sheet2 = workbook.sheet_by_index(0) # sheet索引从0开始 rows_num = sheet2.nrows cols_num = sheet2.ncols for r in range(rows_num): # 一行数据的实体类 entity_dict = {} for c in range(cols_num): cell_value = sheet2.row_values(r)[c] # print('第%d行第%d列的值:[%s]' % (r, c, sheet2.row_values(r)[c])) if (cell_value is None or cell_value == ''): cell_value = (get_merged_cells_value(sheet2, r, c)) # 构建Entity the_key = 'column' + str(c + 1); # 动态设置各属性值 entity_dict[the_key] = cell_value entity_dict['id'] = getUUID() stu = Student(**entity_dict) print(stu) def get_merged_cells(sheet): """ 获取所有的合并单元格,格式如下: [(4, 5, 2, 4), (5, 6, 2, 4), (1, 4, 3, 4)] (4, 5, 2, 4) 的含义为:行 从下标4开始,到下标5(不包含) 列 从下标2开始,到下标4(不包含),为合并单元格 :param sheet: :return: """ return sheet.merged_cells def get_merged_cells_value(sheet, row_index, col_index): """ 先判断给定的单元格,是否属于合并单元格; 如果是合并单元格,就返回合并单元格的内容 :return: """ merged = get_merged_cells(sheet) for (rlow, rhigh, clow, chigh) in merged: if (row_index >= rlow and row_index < rhigh): if (col_index >= clow and col_index < chigh): cell_value = sheet.cell_value(rlow, clow) # print('该单元格[%d,%d]属于合并单元格,值为[%s]' % (row_index, col_index, cell_value)) return cell_value break return None def getUUID(): return uuid.uuid1().hex if __name__ == "__main__": read_excel()
内容总结
以上是互联网集市为您收集整理的python3读取Excel(包含合并单元格)全部内容,希望文章能够帮你解决python3读取Excel(包含合并单元格)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。