如何将数据帧转换为xlsx文件而不保存它?

2024-04-25 07:48:24 发布

您现在位置:Python中文网/ 问答频道 /正文

编辑2:

我正在加载一个Excel文件作为一个数据框,做一些转换,然后我想把Excel文件保存到某个服务器(不是本地的)。你知道吗

目前,我可以做一个变通方法来实现这一点:

import pandas as pd
import requests

df = pd.read_excel("file.xlsx")
df = do_some_transformation(df)

# Store DataFrame locally
df.to_excel("outputfile.xlsx")

# re-read locally stored file und upload it
with open("outputfile.xlsx", "rb") as fin:
        requests.put("url/outputfile.xlsx",
                     data=fin.read(),
                     auth=auth,
                     headers={'content-type': 'application/vnd.ms-excel'})

即,我在本地保存转换后的数据帧,然后将本地副本上载到服务器。是否可以直接将df转换为excel文件,而不必在本地存储和重新加载它? 我该如何修改请求.put声明?你知道吗

带着@Aryerez的暗示,我试着

df = pd.read_excel("file.xlsx")
df = do_some_transformation(df)

writer = pd.ExcelWriter("file.xlsx", engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1')

requests.put("url/outputfile.xlsx",
                     data=writer,
                     auth=auth,
                     headers={'content-type': 'application/vnd.ms-excel'}),

结果是TypeError: '_XlsxWriter' object is not iterable。你知道吗

如何将pandas数据框转换为Excel文件并将其传递给request.put?你知道吗


Tags: 文件数据服务器authdfreadputxlsx
1条回答
网友
1楼 · 发布于 2024-04-25 07:48:24

你可以做:

writer = pd.ExcelWriter(fileName, engine='xlsxwriter')
df.to_excel(writer, sheetName)

它将在writer中创建一个Excel对象,其中包含来自df的数据。除非您:

writer.save()

相关问题 更多 >