Pandas XLSWriter - возвращать вместо записи - PullRequest
0 голосов
/ 10 мая 2018

Я хочу вернуть файл Excel с моего сервера Flask (Python). Этот код:

writer = pd.ExcelWriter('filename.xlsx')
dataframe.to_excel(writer, index=False)
writer.save()

запишет файл Excel в файловую систему. Как я могу return файл вместо записи?

1 Ответ

0 голосов
/ 10 мая 2018

Вы можете записать данные Excel в память, используя объект StringIO или BytesIO.

Этот код скопирован из документации для панд здесь :

# Safe import for either Python 2.x or 3.x
try:
    from io import BytesIO
except ImportError:
    from cStringIO import StringIO as BytesIO

bio = BytesIO()

# By setting the 'engine' in the ExcelWriter constructor.
writer = ExcelWriter(bio, engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1')

# Save the workbook
writer.save()

# Seek to the beginning and read to copy the workbook to a variable in memory
bio.seek(0)
workbook = bio.read()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...