本文摘自php中文网,作者coldplay.xixi,侵删。

合并单元格

操作方法:
1.使用xlrd自带属性:merged_cells
# 获取表格中所有合并单元格位置,以列表形式返回 (起始行,结束行,起始列,结束列)
merged = sheet.merged_cells #结果:[(1,5,0,1),(5,9,0,1)]
2.使用循环判断是合并单元格还是普通单元格,并将合并单元格中的首行值赋值给合并单元格
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | def get_cell_type(row_index, col_index):
"" "既能得到合并单元格也能得到普通单元格" ""
cell_value = None
for (rlow, rhigh, clow, chigh) in merged: # 遍历表格中所有合并单元格位置信息
# print (rlow,rhigh,clow,chigh)
if (row_index >= rlow and row_index < rhigh): # 行坐标判断
if (col_index >= clow and col_index < chigh): # 列坐标判断
# 如果满足条件,就把合并单元格第一个位置的值赋给其它合并单元格
cell_value = sheet.cell_value(rlow, clow)
print ( '合并单元格' )
break # 不符合条件跳出循环,防止覆盖
else :
print ( '普通单元格' )
cell_value = sheet.cell_value(row_index, col_index)
# else : 添加改行后只那一个单元格的内容5,0 会返回2个值普通单元格/合并单元格
# print ( '普通单元格' )
# cell_value = sheet.cell_value(row_index, col_index)
return cell_value
# 直接输入单元格的坐标。来获取单元格内容
# print (get_cell_type(5, 0))
# 利用循环输出某列的单元格内容
for i in range(1, 9):
print (get_cell_type(i, 2))
|
PS:最简单的读取Excel文件中合并单元格操作
问题:
1.当输出内容时,使用坐标来获取print,若最外层有else会返回2个值(还在确认若无最外层else是否会有其他问题存在)
2.第一次使用时可以正常,再次使用时sheet.merged_cells返回列表为空??
解决方法:在打开文件中加入formatting_info=True,就能正常显示
以上就是本文的全部内容,希望对大家的学习有所帮助。
相关学习推荐:python视频教程
以上就是Python如何使用xlrd实现读取合并单元格的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
Python与xml的结合实践教程
基于matplotlib Python实现正弦信号的时域波形和频谱图示例
Python进程池作用展示及实例解析
Python pop函数的定义及使用方式(实例展示)
爬虫为什么不用java要用 Python
Python是哪个国家的?
Python发展至今有哪些版本,各版本有什么区别?
Python fromkeys函数是什么?fromkeys函数的作用是什么?
Python市场需求量大吗
Python pyqt4实现qq抽屉效果
更多相关阅读请进入《Python》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » Python如何使用xlrd实现读取合并单元格