2017-06-02 91 views
0

我試圖用自己的Python API中插入多列到谷歌電子表格,現在我就是這樣的一個循環中這樣做:插入多列,以谷歌電子表格的API PYTHON

index = 0 
for a in myList: 
    sheet.insert_row(a, index) 
    index += 1 

我如果我可以通過一次調用將整個列表發送到spreadSheet,或者比我的方法更好,謝謝。

+0

不是你的問題的答案,但我最近嘗試了'hyou'([GitHub](https://github.com/google/hyou/),[PyPi](https://pypi.python) org/pypi/hyou/1.2),[Documentation](https://hyou.readthedocs.io/en/latest/))來自Google員工,我發現它非常易於使用。 –

+0

嘿,謝謝,它是否支持在一個命令中發送所有列?如果是這樣,請將我指向正確的方向,再次感謝你。 – Ayoub

+0

在調用'commit()'之前,庫不會發出任何API請求。所以你可以改變行的值然後調用commit。看一個例子[這裏](https://hyou.readthedocs.io/en/latest/#synopsis)。 –

回答

1

正如意見中的要求我會後如何與包hyou做這樣一個例子:

import hyou 


my_list = [ 
    [1, 2, 3, 4, 5], 
    [6, 7, 8, 9, 10], 
    [11, 12, 13, 14, 15], 
] 

# Login to Google Spreadsheet with credentials 
collection = hyou.login('/path/to/credentails.json') 

# Open a spreadsheet by ID 
spreadsheet = collection['1ZYeIFccacgHkL0TPfdgXiMfPCuEEWUtbhXvaB9HBDzQ'] 

# Open a worksheet in a spreadsheet by sheet name 
worksheet = spreadsheet['Sheet1'] 

# Insert values from my_list 
for row_index, row in enumerate(my_list): 
    for col_index, value in enumerate(row): 
     worksheet[row_index][col_index] = value 

# Call Worksheet.commit() to apply changes, before this no request will 
# be made to the API 
worksheet.commit() 

也看看views讀/寫子範圍。

+0

嘿,抱歉打擾,但我怎麼得到電子表格ID? – Ayoub

+0

沒問題。轉到瀏覽器中的電子表格,您可以從URL https://docs.google.com/spreadsheets/d/ /edit#gid = 0'中將其提取出來。例如。對於'docs.google.com/spreadsheets/d/1ZYeIFccacgHkL0TPfdgXiMfPCuEEWUtbhXvaB9HBDzQ/edit#gid = 0',ID是'1ZYeIFccacgHkL0TPfdgXiMfPCuEEWUtbhXvaB9HBDzQ'。 –