我最近不得不获取一个数据框并准备将其输出到 Excel 文件。但是,我不想将其保存到本地系统,而是将准备好的数据传递给一个单独的函数,该函数基于 URI 保存到云中。在搜索了许多 ExcelWriter 示例后,我找不到我想要的东西。
目标是获取数据框,例如:
df = pd.DataFrame({"a": [1, 2, 3], "b": [4, 5, 6})
并将其作为字节临时存储在变量中,例如:
processed_data = <bytes representing the excel output>
答案中提供了我提出的解决方案,希望对其他人有所帮助。也希望看到其他人的解决方案!
更新 #2 - 示例用例
在我的例子中,我创建了一个 io 模块,它允许您使用 URI 来指定不同的云目的地。例如,以 gs:// 开头的“路径”被发送到 Google 存储(使用类似 gsutils 的语法)。我处理数据作为我的第一步,然后将处理后的数据传递给“保存”函数,该函数本身会过滤以确定正确的路径。
df.to_csv()实际上没有路径并自动返回一个字符串(至少在最近的版本中),所以这是我允许 to_excel() 执行相同操作的解决方案。