使用 Excel Writer 直接从 RAM 访问 Excel 文件

Accessing Excel files directly from RAM using Excel Writer

pd.ExcelWriter 的文档中,我们看到以下代码片段:

您可以在 RAM 中存储 Excel 个文件:

import io
df = pd.DataFrame([["ABC", "XYZ"]], columns=["Foo", "Bar"])
buffer = io.BytesIO()
with pd.ExcelWriter(buffer) as writer:
     df.to_excel(writer)

我的问题是我们如何访问 excel 返回。我想拥有相同 excel 的 b64 编码版本而不将文件保存在系统中,这就是我考虑将其保存在我的 RAM 中的原因。有人可以帮忙吗?

感谢您的宝贵时间

解决方案:能够使用 buffer.getvalue() 访问文件。

在您提供的代码段中,Excel 文件已写入 buffer,就像它存储在磁盘上一样。

因此,您可以像从文件中读取一样以类似的方式读取它:

pd.read_excel(buffer.getvalue())

更多关于 BytesIO 行为的信息: