2013-01-31 84 views
6

gspreadライブラリを使用してGoogleスプレッドシートからレコードを削除します。gspread libを使用してgoogleスプレッドシートから行を削除/削除する方法。 Pythonで?

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

答えて

1

ソースコードを読むと、行を直接削除する方法はないようです。追加する方法や、ワークシートのサイズを変更する方法は.resize()です。 行番号を取得する場合は、.row_count()メソッドがあります。

+0

おかげで..私は/削除レコードを削除し、第二の点におけるする方法がないことをknowe、ROW_COUNTが与える番号または空白のデータを含む行が、私はデータがある行の数だけを欲しい – Chintan

+0

あなたの質問は十分詳細です。そのような場合は、各行を繰り返し処理し、データが含まれているかどうかをチェックし、データがあればそれを数えます。 – SpankMe

+0

もう一度おねがいしますが、スプレッドシートに1000個のレコード(空白のデータを含む)があると仮定し、すべての行を1つずつチェックしてください....その時間がかかりすぎます...私にとってはうまくいかない... – Chintan

1

行/レコードの削除方法を正確に指定できますか?彼らはシートの真中にいるのですか?ボトム?上?

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

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

これは、ワークシートを削除せずにシート全体をワイプするための単純な強力なソリューションです。データ

count行は、一つの方法は、そのオブジェクトの長さをチェックしget_all_records()を使用してJSONオブジェクト内のデータをダウンロードすることです。このメソッドは、最後の空白でない行の上にあるすべての行を返します。ブランクの後の行が末尾のブランクではなく、ブランクでない場合は、ブランクの行を戻します。

+0

私はこの回答が本当に役に立ちました。スピードはそれに関する最高のものです。 – Ayoub

0

Try pygsheets、それはdelete_rowsメソッドを持っています。

3

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

は、例えば、インデックス42で行を削除するために、あなたは:返信用

worksheet.delete_row(42) 
+0

私は1000行のスプレッドシートでdelete_row(15)を試していますが、10分後にはまだ実行されています。それは長くかかると予想されますか?行を削除すると、下の行のコピー貼り付けが行われますか? – apadana

関連する問題