【学习】解决Python中使用pandas导出Excel时出现TypeError: NDFrame.to_excel() got an unexpected keyword argument ‘encoding‘的问题

文章目录

  • 前言
  • 一、pandas是什么?
  • 二、排查步骤
  • 1、定位:确认出错位置
  • 3、尝试分析、百度可能出现的原因
  • 2、确认我的运行环境配置
  • 3、换库:曲线拯救
  • 4、最终分析
  • 总结

  • 前言

    桨桨,终于有东西可以来记录解决的问题点啦~
    背景是在使用pandas一直无法转换成excel,排查了很久,终于在做了一个细微的调整实现成功了。


    一、pandas是什么?

    pandas 是基于NumPy 的一种工具。我的理解:这个包可以实现读取excel,写入excel的功能,分别是readexcel,toexcel。

    二、排查步骤

    1、定位:确认出错位置

    运行报错提示

    Traceback (most recent call last): File
    df02.to_excel(filename_to,encoding=‘utf-8’)
    File “E:\Python\Python310\lib\site-packages\pandas\util_decorators.py”,
    line 333, in wrapper
    return func(*args, **kwargs)
    TypeError: NDFrame.to_excel() got an unexpected keyword argument ‘encoding’

    3、尝试分析、百度可能出现的原因

    根据这段错误提示,可以确认应该是toexcel时,因为utf-8的编码导致冲突。
    我直接print 了的我的结果集,

    print(df02)

    发现程序其实是能打印我的结果集的,那应该是toexcel 时报错。
    百度了下这句

    NDFrame.to_excel() got an unexpected keyword argument 'encoding'
    

    查询结果:引用一下博主的分析(引用下专业的分析~谢谢!)

    1、版本过低2、使用新库来转换excel

    2、确认我的运行环境配置

    因为,这支程序在我本机上一直运行错误,用同事的3.8的python 运行完全没问题。
    就把原因锁定在是否运行环境不同?
    确认结果如下:

  • python :3.10
  • pandas已安装2.2 Successfully installed pandas-2.2.1
  • 判定结果应该不是运行环境问题

    3、换库:曲线拯救

    使用了图2博主大大的方法,EXCEL的确出现了。也算解决了。
    但是打开excel提示文件格式不对,受损了、
    似乎不是很适用我的情况。

    4、最终分析

    依旧是回来分析这两句,我还是把原因锁定到utf-8的原因上

    df02.to_excel(filename_to,encoding='utf-8')
    
    NDFrame.to_excel() got an unexpected keyword argument 'encoding'
    

    最终,我直接把encoding取消指定,修改代码为

    df02.to_excel(filename_to)
    

    (⊙o⊙)…居然运行成功了。。。。。

    总结

    好啦,记录一下,解决后还是成就感满满~虽然仅仅是非常微小、简单的记录

    物联沃分享整理
    物联沃-IOTWORD物联网 » 【学习】解决Python中使用pandas导出Excel时出现TypeError: NDFrame.to_excel() got an unexpected keyword argument ‘encoding‘的问题

    发表回复