Я хочу сохранить выходные данные от df
до csv
в объекте памяти BytesIo()
(не StringIO
), а затем сжать его, и вот моя попытка:
import pandas as pd
import numpy as np
import io
import zipfile
df = pd.DataFrame(np.random.randn(100, 4), columns=list('ABCD'))
s_buf = io.BytesIO()
df.to_csv(s_buf)
s_buf.seek(0)
localfile= io.BytesIO()
zf = zipfile.ZipFile(localfile, mode="w",compression=zipfile.ZIP_DEFLATED)
zf.writestr(localfile, s_buf.read())
zf.close()
with open("D:/my_zip.zip", "wb") as f: # use `wb` mode
f.write(zf.getvalue())