データフレームからスプレッドシートにデータを書き込んだ際に、
書式設定が反映されるためにはどのようにしたらよろしいでしょうか。
スプレッドシートには書式設定をしており、C列には3桁区切りでカンマを打つように、D列では小数が%表示されるように設定してあります。
画像のようなデータフレーム作成しをスプレッドシートに転記しましたところ、
C列(score2列)のカンマ区切りは書式設定通りになったのですが、D列(rate列)ではデータフレームの値のままで、%表示になりませんでした。
私の理想通りになるのであれば下記の画像の通りになる予定でした。
私のサンプルコードを記載いたします。
実行環境は
google colab
Python 3.7.13
window10
になります。
python
from google.colab import auth auth.authenticate_user()import gspread from google.auth import default creds, _ = default()gc = gspread.authorize(creds) !pip install pandas import pandas as pd !pip install gspread_dataframe from gspread_dataframe import set_with_dataframe data = {'name':['武藤 由枝', '小倉 憲広', '細川 厚史', '根岸 義将', '小田 公生'], 'score1':[30, 55, 97, 66, 21], 'score2':[7403, 6994, 2947, 1485, 4563], 'rate':[-0.322665468, 0.7949298928, -0.781391421, 0.7683301001, 0.2170015266] }df = pd.DataFrame(data)df SS_url = 'https://docs.google.com/spreadsheets/*****'SS = gc.open_by_url(SS_url)sheet = SS.worksheet('terateil') set_with_dataframe(sheet, df, include_index=False)
その他の方法として、データフレームを一旦二次元配列として取得して、
その二次元配列を values_append を使用してスプレッドシートに書き込こみ、書式設定を維持できることは確認しているのですが、
そもそもデータフレームから直接二次元配列にする方法が分かりません。
もしデータフレームから直接二次元配列にする方法もご存じでしたら教えていただけますと助かります。
長くなり、分かりづらい部分があったかと思うのですが、
教えて頂けますと幸いです。
0 コメント