16

gspreadライブラリを使用して Google スプレッドシートからレコードを削除したい。

また、Googleスプレッドシートで行/レコードの数を取得するにはどうすればよいですか? gspreadprovides .row_count()、空白の行を含む行の総数を返しますが、データのある行のみをカウントしたいです。

4

5 に答える 5

12

gspread バージョン 0.5.0 (2016 年 12 月) 以降、 で行を削除できますdelete_row()

たとえば、インデックス 42 の行を削除するには、次のようにします。

worksheet.delete_row(42)
于 2016-12-14T17:03:08.537 に答える
8

行/レコードを削除する方法を正確に指定できますか? それらはシートの真ん中にありますか?下?上?

一度処理したヘッダー以外のすべてのデータを消去したい状況がありました。これを行うには、ワークシートのサイズを 2 回変更しました。

#first row is data header to keep    
worksheet.resize(rows=1)
worksheet.resize(rows=30)

これは、ワークシートを削除せずにシート全体を消去するための単純なブルート フォース ソリューションです。

データのある行を数える

1 つの方法は、json オブジェクトでデータをダウンロードし、get_all_records()そのオブジェクトの長さを確認することです。このメソッドは、空白でない最後の行より上のすべての行を返します。次の行が空白ではなく、末尾の空白がない場合、空白の行が返されます。

于 2016-07-25T15:03:04.127 に答える
1

ソース コードを読むと、行を直接削除する方法はないようです。行を追加する.resize()方法またはワークシートのサイズを変更する方法しかありません。行数の取得に関しては.row_count()、その仕事を行うメソッドがあります。

于 2013-01-31T12:28:55.740 に答える
0

worksheet.delete_row(42)非推奨です (2021 年 12 月)。これで、次を使用して同じ結果を得ることができます

worksheet.delete_rows(42)

新しい関数には、複数の行を同時に削除できる機能が追加されています。

worksheet.delete_row(42, 3)

行 42 から始まる次の 3 行が削除されます。

行のカウントを 1 から開始することに注意してください (ゼロベースの番号付けではありません)。

于 2021-12-17T10:16:43.033 に答える