Google

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

python ロゴ

Google Colab(Colaboratory)からスプレッドシートに書き込もうとした際に以下のAPIエラーが発生しました。

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

ぱっと見でおかしな文字データが含まれているからダメなのかと置換やらいろいろ試してみいましたが、どうやら違う理由らしい。

APIError: {‘code’: 400, ‘message’: ‘Invalid values[1][9]: list_value {\n}\n’, ‘status’: ‘INVALID_ARGUMENT’}の原因と修正方法

どうやらスプレッドシートに書き込む際には以下のデータ型のみを許容しているようです。

  • bool型
  • string型
  • double型

pandasのデータをスプレッドシートに書き込もうとしていたのですが、データフレームの中身をよくよく確認してみるとリスト型が混じっており、そのせいでAPIエラーが発生していたようです。

リスト型を結合して文字列に直してあげたら無事に書き込むことができました。

参考元 : Google Sheets API returns “Invalid values[3][1]: struct_value {\n}\n” error

おわり

pandasのデータフレームが便利だなと思いリスト型でスプレッドシートに書き込まずにpandasを使うようにしたら早速はまりました。少し賢くなれた気がします。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です