最近、データフレームを取得して、Excel ファイルに出力する準備をする必要がありました。ただし、ローカル システムに保存するのではなく、準備したデータを、URI に基づいてクラウドに保存する別の関数に渡します。多数の ExcelWriter の例を検索した後、探しているものが見つかりませんでした。
目標は、データフレームを取得することです。たとえば、次のようになります。
df = pd.DataFrame({"a": [1, 2, 3], "b": [4, 5, 6})
そして、変数にバイトとして一時的に保存します。たとえば、次のようになります。
processed_data = <bytes representing the excel output>
私が思いついた解決策は回答に記載されており、他の人の助けになることを願っています。他の方の解決策も見てみたいです!
更新 #2 - ユースケースの例
私の場合、URI を使用してさまざまなクラウド宛先を指定できるようにする io モジュールを作成しました。たとえば、gs:// で始まる「パス」は Google ストレージに送信されます (gsutils のような構文を使用)。最初のステップとしてデータを処理し、その処理済みデータを「保存」関数に渡します。この関数自体がフィルター処理を行い、正しいパスを決定します。
df.to_csv()は実際にはパスなしで動作し、自動的に文字列を返します (少なくとも最近のバージョンでは)。