project_libを使った分析プロジェクトのデータ資産へのファイル保存方法は別の記事に書きましたが、Excel形式で保存するには少しコツが必要でした。
いろいろ調べていたら、stackoverflowのこちらの記事が有効でした。
実際にやってみた例を記載します。
使ったpandasデータフレーム
# サンプルデータ Iris
import pandas as pd
from sklearn.datasets import load_iris
iris = load_iris()
df = pd.DataFrame(iris.data, columns=iris.feature_names)
df['iris_type'] = iris.target_names[iris.target]
df.head()
このデータをExcel形式で保存してみます。
流れは、pandas.to_excelで一旦環境内にExcelファイルとして保存し、
# 一度Excelファイルとして環境内に出力する
filename = 'iris.xlsx'
df.to_excel(filename, index=False)
!pwd
!ls -l
# -output-
# /home/wsuser/work
# total 12
# -rw-r-----. 1 wsuser watsonstudio 8737 May 28 06:53 iris.xlsx
ioバイトストリームとして読み込んで、project_libで分析プロジェクトに保存します。
from project_lib import Project
project = Project.access()
import io
with open(filename, 'rb') as z:
data = io.BytesIO(z.read())
project.save_data(filename, data, set_project_asset=True, overwrite=True)