Простой способ: преобразовать фрейм данных в Pandas фрейм данных с помощью toPandas()
, а затем сохранить в строку. Чтобы сохранить в строку, а не в файл, вам нужно будет вызвать to_csv
с path_or_buf=None
. Затем отправьте строку в вызове API.
From to_csv () документация:
Параметры
path_or_bufstr или дескриптор файла, по умолчанию None
Путь к файлу или объект, если None не указан, результат возвращается в виде строки.
Таким образом, ваш код, скорее всего, будет выглядеть так:
csv_string = df.toPandas().to_csv(path_or_bufstr=None)
Альтернативы: используйте tempfile.SpooledTemporaryFile с большим буфером для создания файла в памяти. Или вы даже можете использовать обычный файл , просто сделайте свой буфер достаточно большим и не глушите sh и не закрывайте файл. Взгляните на объяснение Кори Голдберга того, почему это работает.