1. 公司项目导出数据时,使用了xlsxWriter来把数据写入到excel文件中
  2. 普通从关系数据库导入的数据,导出完全没有问题
  3. 突然有天发现报错了,错误信息:typeError: NAN/INF not supported in write_number() without 'nan_inf_to_errors' Workbook() option
  4. 分析了错误的背景,导入的时数据,原始数据时excel,
    • 定位原因,excel导入时用的是numpy,保留了excel特有的数据类型nan
    • 导出时,无法写入nan
  5. 解决办法一:
    • mongodb取出值的时候,判断一下str(value) in ["NaN","nan","NAN"],然后替换为None
  6. 解决方法二:
    • 设置xlsxwriter.Workbook()的配置
      • write()和write_number()方法,将nan,inf和-inf认为是Excel错误。
      • Excel不处理NAN / INF的号码,因为它们映射到产生错误码公式解决方法#NUM!和#DIV/0!。默认是False。
      • 这个配置改成True就可以了
      • workbook = xlsxwriter.Workbook(filename, {'nan_inf_to_errors': True})

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-04-29
  • 2022-12-23
  • 2021-10-23
  • 2021-12-17
  • 2022-12-23
  • 2021-05-24
猜你喜欢
  • 2021-07-18
  • 2022-12-23
  • 2022-12-23
  • 2021-08-07
  • 2022-12-23
  • 2022-12-23
  • 2021-09-25
相关资源
相似解决方案