您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

使用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']]

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

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

随后,我找到了一个文档页面,该页面讨论了一种merged_cells属性,可以用来确定合并的各个单元格范围中包含的单元格。文档说它是“ 0.6.1版的新功能”,但是当我尝试将其与xlrd-0.9.3一起使用时,pip出现了错误

NotImplementedError:formatting_info =还没有实现

我并不特别倾向于开始使用不同版本的xlrd来测试该merged_cells功能,但是如果以上代码不足以满足您的需求并且遇到与我相同的错误,也许您可??能会对这样做感兴趣formatting_info=True

python 2022/1/1 18:47:40 有333人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶