【问题标题】:How to convert data of any types into a workbook object in python?如何将任何类型的数据转换为python中的工作簿对象?
【发布时间】:2019-11-20 07:39:02
【问题描述】:

我得到了一个数据,它可以是任何类型,即 DataFrame、dict 或 python 中的其他东西。如何使用 python 将其转换为工作簿,而不是使用 openpyxl 中的 load_workbook。我知道使用 openpyxl.load_workboo("xx.xlsx") 可以获得工作簿对象,但这不是我想要的。例如我在下面有一个日期范围

import pandas as pd

df = pd.DataFrame({
    "A":[1,2,3,4,5],
    "B":[11,22,33,44,55],
    "C":[111,222,333,444,555]
})
   A   B    C
0  1  11  111
1  2  22  222
2  3  33  333
3  4  44  444
4  5  55  555

不保存dataframe到excel,不知道能不能直接把dataframe变成workbook而不是保存到excel,然后在openpyxl中使用load workbook方法生成workbook对象

【问题讨论】:

  • 您好,您搜索了吗? Pandas 具有将数据帧转换为 excel 文件的直接选项。例如:df.to_excel
  • 不保存dataframe到excel,不知道能不能直接把dataframe转成workbook而不是保存到excel,然后在openpyxl中使用load workbook方法生成workbook对象跨度>
  • 但感谢您的帮助

标签: excel python-3.x pandas dataframe


【解决方案1】:

我不明白您为什么要通过两种方式创建工作簿对象,即直接转换数据框和使用加载工作簿方法。 但是,openpyxl 的文档中提供了将数据框转换为工作簿对象的解决方案。 https://openpyxl.readthedocs.io/en/stable/pandas.html

from openpyxl.utils.dataframe import dataframe_to_rows
wb = Workbook()
ws = wb.active

for r in dataframe_to_rows(df, index=True, header=True):
    ws.append(r)

【讨论】:

  • 非常感谢,它有效,这正是我想要的。
猜你喜欢
  • 2022-12-30
  • 2019-10-11
  • 1970-01-01
  • 2019-08-04
  • 1970-01-01
  • 2017-08-16
  • 2020-01-21
  • 2021-11-04
  • 1970-01-01
相关资源
最近更新 更多