Python

gspreadでの書き込みが「code400:INVALID_ARGUMENT」で失敗する原因と解決法

この記事は約2分で読めます。

 

gspreadを使ってPythonからスプレッドシートに行単位でデータを追加するappend_row()でデータを書き込もうとした際に以下のようなAPIエラーが発生しました。

 

<コード>

~~~~
wks = gc.open_by_key(notebook_id).worksheet('<シートネーム>')
write_datas = [
    'user_a',
    ['2022-01-11', '2022-01-12', '2022-01-13']
]
wks.append_row(write_datas)
~~~~

 

<エラーメッセージ>

APIError: {‘code’: 400, ‘message’: ‘Invalid values[7][9]: list_value {\n}\n’, ‘status’: ‘INVALID_ARGUMENT’}

 

関数の引数設定がおかしいのかなと思いましたが、原因はスプレッドシートに書き込むように指定したリストのデータ型が不適切だったのが原因でした。

 

というのもappend_row()で指定する二次元リスト配列の内部で使えるデータは以下のデータ型だけのようです。

 

  • bool型
  • string型
  • double型

改めて確認してみると記事上部の<コード>にあるような感じでデータにリスト型が混じっており、そのせいでAPIエラーが発生していたようです。

 

同じようなエラーで悩んでいる方はappend_row()などでスプレッドシートに書き込む多次元配列のデータ中に上記3つ以外のデータ型がないかを確認してみてください

 


プログラミング・スクレイピングツール作成の相談を受け付けています!

クラウドワークス・ココナラ・MENTAなどでPython・SQL・GASなどのプログラミングに関する相談やツール作成などを承っております!

過去の案件事例:

  • Twitter・インスタグラムの自動化ツール作成
  • ウェブサイトのスクレイピングサポート
  • ダッシュボード・サイト作成
  • データエンジニア転職相談

これまでの案件例を見る

キャリア相談もお気軽に!文系学部卒からエンジニア・データサイエンティストへの転職経験をもとに、未経験者がどう進むべきかのアドバイスを提供します。


スポンサーリンク
/* プログラミング速報関連記事一覧表示 */
ミナピピンの研究室

コメント

  1. […] 関連記事:gspreadでの書き込みが「code400:INVALID_ARGUMENT」で失敗する原因と解決法 […]

タイトルとURLをコピーしました