我是一颗跳跳糖哦 2023-11-24 17:48 采纳率: 50%
浏览 13
已结题

import xlrd,读取.xlsx文件,读取单元格数据部分显示异常{\n "_calcError": "#VALUE!"\n}

img


使用import xlrd 读取文件,部分数据显示异常无法正常显示

  • 写回答

8条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2023-11-24 17:48
    关注

    引自强大而免费的微信小程序:皆我百晓生

    您好,根据您的描述,您使用xlrd库读取.xlsx文件的部分单元格数据显示异常。异常信息为"_calcError": "#VALUE!"。

    这个异常信息通常表示在Excel文件中某些单元格的计算公式出现错误,导致无法正确读取数据。您可以尝试在读取单元格数据之前检查单元格是否包含公式,如果包含公式,可以先计算并获取其值。

    以下是一个示例代码,演示如何处理这种异常情况:

    import xlrd
    
    def read_excel(file_path):
        workbook = xlrd.open_workbook(file_path)
        sheet = workbook.sheet_by_index(0)  # 假设要读取第一个工作表
        data = []
    
        for row in range(sheet.nrows):
            row_data = []
            for col in range(sheet.ncols):
                cell = sheet.cell(row, col)
                if cell.ctype == xlrd.XL_CELL_FORMULA:  # 判断是否为公式单元格
                    try:
                        value = workbook.sheet_by_name(cell.value.split('!')[0][1:]).cell_value(row, col)
                    except Exception as e:
                        value = str(e)  # 如果公式计算出错,将异常信息作为值存储
                else:
                    value = cell.value
    
                row_data.append(value)
    
            data.append(row_data)
    
        return data
    
    file_path = "your_file_path.xlsx"
    data = read_excel(file_path)
    print(data)
    

    您可以将"your_file_path.xlsx"替换为您实际的文件路径,并运行代码进行测试。这段代码会将Excel文件的内容按行、列的方式存储在一个二维列表中,并会将公式计算错误的单元格的异常信息打印出来。

    希望这可以帮助到您,如果还有其他问题,请随时提问。

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月25日
  • 创建了问题 11月24日

悬赏问题

  • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
  • ¥60 pb数据库修改与连接
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab