Beachten Sie, dass ich ein wenig süchtig war, als ich versuchte, den Pandas DataFrame zu komprimieren und als CSV-Datei in einem Amazon S3-Bucket zu speichern.
import gzip
from io import BytesIO
import pandas as pd
import boto3
def save_to_s3(df: pd.DataFrame, bucket: str, key: str):
"""Pandas DataFrame.csv.Speichern Sie in Amazon S3 als gz"""
buf = BytesIO()
with gzip.open(buf, mode="wt") as f:
df.to_csv(f)
s3 = boto3.client("s3")
s3.put_object(Bucket=bucket, Key=key, Body=buf.getvalue())
Die Punkte sind wie folgt.
wt
) "an.Zuerst dachte ich, wenn ich in pandas.DataFrame.to_csv eine Komprimierung = "gzip" angeben würde, wäre es nicht notwendig, sie explizit zu komprimieren, aber wenn ich ein dateiähnliches Objekt in "to_csv" eingeben würde, wäre es " Die Option "Komprimierung" scheint ignoriert zu werden und konnte nicht verwendet werden.
Recommended Posts