Python实现JSON转Excel时出现xlwt相关FutureWarning的解决方法
警告触发原因
当前代码通过pandas写入.xls后缀的Excel文件时,默认调用了已停止维护的xlwt引擎,pandas未来版本会彻底移除对该引擎的支持,因此抛出FutureWarning做兼容性提示。xlwt是pandas生态里唯一支持写入旧版xls格式的引擎,没有替代方案可以长期支持xls写入。
修复方案
优先方案:迁移到xlsx格式(长期兼容,无警告)
这是官方推荐的解决方式,适配所有后续pandas版本,xlsx格式本身也支持更大单表数据量、更多格式特性:
- 第一步安装依赖
openpyxl,在终端执行命令:pip install openpyxl - 第二步修改原有JSON转Excel的代码,将输出文件后缀从
.xls改为.xlsx,写入时显式指定引擎为openpyxl即可,参考示例:import pandas as pd # 读取JSON数据源 df = pd.read_json("input.json") # 写入xlsx格式文件,关闭索引列输出 df.to_excel("output.xlsx", engine="openpyxl", index=False)
修改完成后运行代码就不会再出现该警告。
临时方案:压制警告(仅短期兼容旧逻辑使用)
如果暂时必须保留xls格式输出,可以通过pandas全局配置隐藏警告,但该配置本身也已被标记弃用,后续pandas版本移除xlwt支持后代码会直接报错,不建议长期使用:
import pandas as pd # 全局配置压制xlwt相关弃用警告 pd.set_option("io.excel.xls.writer", "xlwt") # 原有JSON转xls的代码可保持不变 df = pd.read_json("input.json") df.to_excel("output.xls", index=False)
注意:该方案仅隐藏提示,未解决依赖弃用的根本问题,建议尽早完成xlsx格式迁移。
内容的提问来源于stack exchange,提问作者Diah Rahmalenia
相关产品推荐
相关产品推荐

