python 读取合并单元格_用Python读取Excel中的合并单元格

我刚试过,似乎对你的样本数据有效:all_data = []

excel = xlrd.open_workbook(excel_dir+ excel_file)

sheet_0 = excel.sheet_by_index(0) # Open the first tab

prev_row = [None for i in range(sheet_0.ncols)]

for row_index in range(sheet_0.nrows):

row= []

for col_index in range(sheet_0.ncols):

value = sheet_0.cell(rowx=row_index,colx=col_index).value

if len(value) == 0:

value = prev_row[col_index]

row.append(value)

prev_row = row

all_data.append(row)

返回[['2', '0', '30'], ['2', '1', '20'], ['2', '5', '52']]

它跟踪前一行的值,如果当前行的相应值为空,则使用这些值。

请注意,上面的代码不会检查给定单元格是否实际是合并单元格集的一部分,因此在单元格应该为空的情况下,它可能会复制以前的值。不过,这可能会有所帮助。

附加信息:

随后,我找到了一个文档页面,其中讨论了一个^{}属性,可以用来确定包含在各种合并单元格范围中的单元格。文档中说它是“0.6.1版中的新版本”,但是当我试图将它与由pip安装的xlrd-0.9.3一起使用时,出现了错误NotImplementedError: formatting_info=True not yet implemented

我并不特别倾向于开始寻找不同版本的xlrd来测试merged_cells特性,但是如果上面的代码不足以满足您的需要,并且您遇到了与我使用formatting_info=True时相同的错误,那么您可能会感兴趣这样做。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值