悩み
pandas DataFrameのデータをGoogle Spreadsheetに上げたいけど、アップできるパッケージがいろいろある・・・
ということで、今回は下記の3つを比較
-
gspread-dataframe
- Stars: 137
- Qiitaで日本語の記事も出てるので、ほとんどの人はこれを使うのでは・・・
-
gspread-pandas
- Stars: 273
- スターが一番多い!!
-
df2gspread
- Stars: 119
- 昔からあるみたいです
環境と検証方法
- m1 mac / miniforge 環境
- Google Spreadsheetへのアクセスには service_account をクレデンシャルファイルとして利用
- df2gspreadとgspread-pandasはcondaでインストール、gspread-dataframeはpipでインストール
$ conda list | grep gspread
df2gspread 1.0.4 pyhd3deb0d_1002 conda-forge
gspread 4.0.1 pyh6c4a22f_0 conda-forge
gspread-dataframe 3.2.1 pypi_0 pypi
gspread-pandas 2.2.3 py_2 conda-forge
- サンプルデータは国勢調査の都道府県人口のCSVデータを利用、ちょうど1,000行弱で都合が良い!
結論
gspread-dataframe がダントツで速い
Package | speed |
---|---|
gspread-dataframe | 1.98 sec |
gspread-pandas | 3.51 sec |
df2gspread | 7.01 sec |
なるべくフェアにテストしたつもりなのですが・・・結構、パフォーマンス違うんですね。思った以上に違ったのでビックリ。
参考までに、テストしたコード