如何使用 pygsheets 将 URL 列表写入 google 驱动器电子表格

How to write a list of URLs to a google drive spreadsheet with pygsheets

我有一个 url 列表,我正在尝试使用 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')

update_cells 取一个矩阵(列表的列表)。所以删除额外的外部列表。这应该有效。

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

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")

编辑:更新代码

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

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

    res_list = []
    wks = sheet.sheet1
    h = res_list
    im_name = [str(i) for i in h]
    for i in im_name:
        wks.update_cell('A'+str(im_name.index(i)+1), i)