在执行这段代码的时候,需要打开一个xlsx格式的Excel表。

import xlwt
import xlrd
from xlutils.copy import copy


# 单元格上色
def color_excel(file_name):
    styleBlueBkg = xlwt.easyxf('pattern:pattern solid, fore_colour blue;')  # 红色
    rb = xlrd.open_workbook(file_name)  # 打开xls文件
    ro = rb.sheets()[0]  # 读取表单0
    wb = copy(rb)  # 利用xlutils.copy复制
    ws = wb.get_sheet(0)  # 获取表单0
    col = 0  # 指定修改的列
    for i in range(ro.nrows):
        result = int(ro.cell(i, col).value)
        if result == 2:
            ws.write(i, col, ro.cell(i, col).value, styleBlueBkg)
    wb.save(file_name)


if __name__ == '__main__':
    file_name = 'test.xlsx'
    color_excel(file_name)

报出以下错误:

尝试方法(一)

既然xlrd只能读取xls格式的文件,那我们直接通过更改文件后缀的方式更改Excel格式“test.xls”。运行后依然报出以上错误。看来Python读取的还是xlsx格式的文件

 

尝试方法(二)

python的xlrd读取Excel数据失败: raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+'; not supported') xlrd.biffh.XLRDError: Excel xlsx file; not supported - 吾言! - 博客园使用xlrd读取Excel的xlsx格式表格里的数据,读取失败,报错: raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+'; nothttps://www.cnblogs.com/will-wu/p/14607447.html#:~:text=xlrd.biffh.XLRDError%3A%20Excel%20xlsx%20file%3B,not%20supported%20%E5%8E%9F%E5%9B%A0%EF%BC%8Cxlrd%E4%B8%BA2.0.1%E7%89%88%E6%9C%AC%EF%BC%8C%E6%9B%B4%E6%96%B0%E7%89%88%E6%9C%AC%E5%90%8E%EF%BC%8Cxlrd%E4%B8%8D%E6%94%AF%E6%8C%81xlsx%E6%A0%BC%E5%BC%8F%E6%95%B0%E6%8D%AE%E7%9A%84%E8%AF%BB%E5%8F%96%E4%BA%86%EF%BC%8C%E6%9E%9C%E6%96%AD%E5%87%8F%E4%BD%8E%E7%89%88%E6%9C%AC%20%E5%85%88%E5%8D%B8%E8%BD%BD2.0.1%E7%89%88%E6%9C%AC%EF%BC%8C%E5%86%8D%E6%8C%87%E5%AE%9A%E5%AE%89%E8%A3%851.2.0%E7%89%88%E6%9C%AC卸载2.0以上版本的xlrd,安装低版本的xlrd==1.2.0

 

 问题解决了!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐