如何使用pygsheets将网址列表写入Google驱动器电子表格

时间:2018-11-12 15:32:20

标签: python google-sheets-api pygsheets

我有一个要上传到带有pygsheets的电子表格的网址列表。由于某种原因,脚本只更新一个单元格,而不更新指定范围内的单元格。以下脚本的相关部分:

wks = sheet.sheet1
wks.update_cells('A1:A5',[[img]])

其中img是URL列表。任何帮助将不胜感激!

更新了代码片段

res_list = []
wks = sheet.sheet1
header = wks.cell('A1')
header.value = 'URLs'
for i in res_list:
   wks.update_values(crange='A2:A1000',
   values=np.array([[image_name]]).tolist(), majordim='ROWS')

1 个答案:

答案 0 :(得分:1)

update_cells采用一个矩阵(列表列表)。因此删除多余的外部列表。这应该起作用。

现在,当您在每一列中写入每个值时,您应该将值转换为列的主要形式

onFieldChange(e) {
    let selectionStart = e.target.selectionStart;
    let selectionEnd = e.target.selectionEnd;
    this.state.selectionStart = this.inputBox.current.selectionStart;
    let value = this.formatNumber(e.target.value);
    e.persist();
    this.setState({value}, () => {
        e.target.selectionStart = selectionStart
    });
}

其他更改主要维度

matrix = list(map(list, zip(*[img])))
wks = sheet.sheet1
wks.update_cells('A1:A5',[img])

编辑:更新的代码

wks = sheet.sheet1
wks.update_cells('A1:A5',[img], majordim="COLUMNS")

EDIT2:工作版本(已切换为pygsheets的早期版本)

res_list = []
wks = sheet.sheet1
header = wks.cell('A1')
header.value = 'URLs'
j=2
for i in res_list:
   image_name = get_new_name() # get the new url/value for next cell
   wks.update_values(crange="A"+str(j), values=np.array([[image_name]]).tolist())
   j+=1