【问题标题】:Smartsheet API Python - extract data from external excel file by cell and update into a smartsheet using APISmartsheet API Python - 按单元格从外部 excel 文件中提取数据并使用 API 更新到智能表中
【发布时间】:2024-04-16 15:25:01
【问题描述】:

所以我试图从具有动态行长度的 excel 文件中复制所有数据 - 范围可以从 100 到 500 行,然后我想复制每个单元格中的内容,按列迭代并将行更新到最后一行

现在,当我指定列 ID 时,我当前的代码按行更新,我正在存储 一个主列和非主列 [] ,我不确定如何首先通过我行中每一列中的单元格迭代更新,所以如果我由于任何原因失去我的互联网连接,我知道它最后更新的位置。

是的,这是一个缓慢的过程

第二部分是我可以用openpyxl打开一个excel文件 读取单元格值并将其存储在变量中,但我正在努力 将其传递给智能工作表代码 ....

MySheet     =     smartsheet.Sheets.get_sheet(SHEET_ID, PrimaryCol)
for MyRow in MySheet.rows:
    for MyCell in MyRow.cells:
        print (MyRow.id, MyCell.value)
        row_a = smartsheet.Sheets.get_row(SHEET_ID,MyRow.id)
        cell_a = row_a.get_column(PrimaryCol)
        cell_a.value = 'new value'
        row_a.set_column(cell_a.column_id, cell_a)
        smartsheet.Sheets.update_rows(SHEET_ID, [row_a])

任何帮助都会非常感谢

【问题讨论】:

    标签: python excel insert-update smartsheet-api


    【解决方案1】:

    我认为这些链接(Add RowsUpdate Rows)将有助于实现您正在寻找的功能。

    最终,在翻录 excel 或 CSV 文件时,您需要在将更新调用提交给 Smartsheet 之前生成整个行更新(以及所有行的更新)。

    您的代码中显示您正在对工作表中的每个单元格进行更新调用。因此,在高层次上,您可以尝试首先获取工作表的所有列 ID,然后获取 excel 文件中的每一行,为该新行生成更新/添加调用。

    您的最后一步应该是对包含您要查找的所有行更新的工作表的一次调用。最后一次调用应该看起来像这样:

    smartsheet.Sheets.update_rows(SHEET_ID, ROW_UPDATES)

    其中 ROW_UPDATES 是您正在添加/更新的所有行对象的列表。

    【讨论】:

      最近更新 更多