2017-02-04 10 views
0

Googleスプレッドシートでは、1つのテンプレートから数式をコピーしてキーを指定して他のすべてのシートに貼り付けるというPythonタスクがあります。鍵のリストは約1000鍵で、更新はかなり遅いです。Googleシート:タスクを複数のサブタスクに分割して並列に更新する

今はリストを手動で切り詰めてコードを一度に10回実行するので、一度に10個の並列インスタンスが更新されます。しかし、手動で行うのを避ける方法はありますか?ここでhereを議論したように、私はあなたがおそらくマルチプロセッシングをチェックアウトしたいと思いますgspread

答えて

1

から

def copy_formula(self,source_key,target_key,sheetname,ranges): 
    sh = self.gsheets.gc.open_by_key(source_key) 
    wks= sh.worksheet(sheetname) 
    cell_list = wks.range(ranges) 

    sh1 = self.gsheets.gc.open_by_key(target_key) 
    wks1= sh1.worksheet(sheetname) 
    cell_list1 = wks1.range(ranges) 

    for i in range(0,len(cell_list1)): 
     cell_list1[i].value=cell_list[i].input_value 

    wks1.update_cells(cell_list1) 

gsheetsがあるコードですが、私はグーグルへの同時通話がトリッキーなことができることを警告します。新しいGoogleスプレッドシートAPI v4(gspreadはまだ利用できないかもしれません)を使用しても、at least one documented concurrency issue when appending dataがあります。

は、Googleが明らかに(複数のユーザーを含む)は、Web UIの同時編集をサポートする、と言ったので、私は驚かれることと思いますもしあなたできた可能性がgsheetsの助けを借りていないフィギュア何かアウト(、新しいGoogle APIの新しいPythonラッパー)。

関連する問題