Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Smartsheet API Python-按单元格从外部excel文件提取数据,并使用API更新为Smartsheet_Python_Excel_Insert Update_Smartsheet Api - Fatal编程技术网

Smartsheet API Python-按单元格从外部excel文件提取数据,并使用API更新为Smartsheet

Smartsheet API Python-按单元格从外部excel文件提取数据,并使用API更新为Smartsheet,python,excel,insert-update,smartsheet-api,Python,Excel,Insert Update,Smartsheet Api,因此,我试图用动态行长度复制excel文件中的所有数据-可以从100到500行,然后我希望复制每个单元格中的内容,按列迭代并将行更新到最后一行 现在,当我指定列ID时,我的当前代码按行更新,我正在存储 作为主列和非主列[],我不确定如何首先通过行中每个列中的单元格迭代更新,因此,如果我由于任何原因丢失了interenet连接,我知道它最后一次更新的位置 是的,这是一个缓慢的过程 第二部分是我可以用openpyxl打开一个excel文件 读取单元格值并将其存储在变量中,但我很难做到这一点 将其传递

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

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

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

第二部分是我可以用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])
任何帮助都会得到极大的感谢

我认为这些链接(,)将有助于实现您想要的功能

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

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

最后一步应该是对包含您要查找的所有行更新的工作表进行一次调用。最后一个电话应该是这样的:

smartsheet.Sheets.update\u行(SHEET\u ID,ROW\u UPDATES)

其中ROW_UPDATES是要添加/更新的所有行对象的列表