案件でスクレイピングしたデータをgspreadを使ってappend_row()でシートに追加するスクリプトを作成したのですがその際に行を追加するたびに行がズレるという現象に遭遇したのでその時の対処法についてメモしておきます。
なおgspreadの基本的な使い方について以下の記事で解説しています。
関連記事:【Python】gspreadでスプレッドシートの読み書きを自動化する
gspreadのappend_rowでシートがズレる
以下のようなコードで最新行にリストに格納したデータを追加する、みたいな処理を実行して結果のシートを見るとシートに値が挿入されているのですが、挿入されている場所がだんだんずれているというトラブルに遭遇しました。
原因と対処法
あくまで個人的な推測にはなりますが、シートに追加したいリスト型データの最後の要素のデータに格納されている文字や数字の文字数が多すぎるとこのような事象が起こる可能性が高い気がします。
なので個人的な解決方方法として使っているのが以下のようにリストの最後に1、みたいな文字数の少ない一定の情報にしてデータを追加するようにしたのですが、そうするとこの現象は起こらなくなりました
<イメージ例>
write_datas = [ ~~~~~~~~~~ 'https://www/xxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxx/xx' # 長い文字列データ '1' # 短い文字数のデータを最後に付け加える ] wks.append_row(write_datas)
もし同じような現象に悩んでいる方は試してみてください。では~
関連記事:gspreadでの書き込みが「code400:INVALID_ARGUMENT」で失敗する原因と解決法
コメント