【问题标题】:Can't convert String to int while saving into excel sheet保存到 Excel 工作表时无法将 String 转换为 int
【发布时间】:2021-10-13 10:02:28
【问题描述】:

main.py:697:FutureWarning:不推荐使用 **kwargs,请改用 engine_kwargs。 Excelwriter = pd.ExcelWriter(Excel_File_Name,engine="xlsxwriter",options={'strings_to_numbers': True})

我在保存 Excel 工作表时收到此警告。 我尝试了以下方法将字符串值转换为 int:-

Excelwriter = pd.ExcelWriter(Excel_File_Name,engine="xlsxwriter",options={'strings_to_numbers': True})

我找到了这个 (options={'strings_to_numbers': True}) 解决方案,可以在保存 excel 工作表的同时将字符串转换为 int,并尝试了其他方法,但似乎都没有。 p>

编辑1:-

我的最终代码如下所示,但字符串尚未转换为 Int:-

    dflist= [Income_Statement_Annual]
    Excel_File_Name = Company_name + ".xlsx"
    Excelwriter = pd.ExcelWriter(Excel_File_Name,engine="xlsxwriter",engine_kwargs={'options': {'strings_to_numbers': True}})

    for df in dflist:
        df.to_excel(Excelwriter, sheet_name=retrieve_name(df)[0],index=False)
    Excelwriter.save()

我的工作表的屏幕截图:- 还有什么问题吗?

【问题讨论】:

  • 您需要先删除字符串中的逗号,然后才能将它们转换为数字。
  • OMG 完全忘记了那个 xD,谢谢 :)

标签: python pandas selenium web-scraping beautifulsoup


【解决方案1】:

here 文档和错误消息非常清楚地说明了您应该如何进行方法调用。

Excelwriter = pd.ExcelWriter(
    Excel_File_Name, 
    engine="xlsxwriter", 
    engine_kwargs={"options": {"strings_to_numbers": True}
)

任何特定于engine选项都必须作为dict 传递给engine_kwargs 关键字参数。

【讨论】:

  • 明白了,我试试这个。谢谢!
  • 语法不是很明显,但实际上应该是:engine_kwargs={'options': {'strings_to_numbers': True}}
  • 改成那个了,我以为是其中一个但不确定
  • 我对我的问题添加了一个编辑,你能检查一下吗?
  • 这将是您正在使用的 xlsx 编写器的实现细节,但是您需要检查您需要传递的 exact 参数是什么FutureWarning的问题已经解决
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-21
相关资源
最近更新 更多