EDIT2:
Я загружаю в файл Excel как DataFrame, делаю некоторые преобразования, затем я хочу сохранить файл 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'})
т.е. я сохраняю преобразованный DataFrame локально, чтобы затем загрузить локальную копию на сервер. Можно ли преобразовать df напрямую в файл Excel, не сохраняя и не перезагружая его локально? Как бы мне пришлось изменить оператор arguments.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
.
Как я могу преобразовать DataFrame pandas в файл Excel и передать его в request.put
?