首页 > 解决方案 > 如何将任何类型的数据转换为python中的工作簿对象?

问题描述

我得到了一个数据,它可以是任何类型的数据,即 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

与其将数据框保存到excel,我想知道是否可以将数据框直接变成工作簿而不是将其保存到excel,然后使用openpyxl中的加载工作簿方法生成工作簿对象

标签: excelpython-3.xpandasdataframe

解决方案


我不明白为什么要以两种方式创建工作簿对象,即直接转换数据框并使用加载工作簿方法。但是,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)

推荐阅读