我们正在更新Excel表中用于特定事件ID的数据,我们需要从dynamodb表中检索特定事件ID的主键项,并需要在excel中更新值。
手动完成几篇文章是可以的。但是,如果我们需要更新10000个事件ID值,我们如何通过python或任何其他方法自动执行此过程?请协助
答案 0 :(得分:0)
如果您要问如何在Excel中自动执行此操作,则一种选择是使用您最喜欢的.NET语言使用Office Interop API for Excel(对于这种任务,C#确实很容易使用)。 Dynamo具有.NET的客户端SDK,再次使查询源表相对容易。
对于Dynamo的.Net SDK,请从这里开始:https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/dynamodb-intro.html
对于Office自动化,您有两个选择:
对于后者,您可以从这里开始:https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/interop/how-to-access-office-onterop-objects
有许多使用C#自动化Excel的示例。如果您发现自己特别专注于某件事,请随时在SO上提问,但问题越集中,您将获得更快,更好的答案。
关于您完成特定任务的方法,我会:
作为一种潜在的优化方法,如果Dynamo中没有太多记录(10,000个数字非常低),我会考虑先将Dynamo表扫描到内存中,然后再在内存中进行查找。这具有额外的好处,那就是它将大大便宜。扫描所有10K项并将其存储在内存中通常比对每个项进行单独的Get请求便宜15-20倍。
答案 1 :(得分:0)
按照以下步骤完成dynamodb更新
1。我们已将源csv数据读取并转换为字典
with open('test.csv', 'r') as f: reader = csv.reader(f) your_list
= list(reader) list_1=[] dict1={} for i in range(1, len(your_list)):
dict1[your_list[0][0]]=your_list[i][0]
dict1[your_list[0][1]]=your_list[i][1]
dict1[your_list[0][2]]=your_list[i][2]
dict1[your_list[0][3]]=your_list[i][3] list_1.append(dict1)
dict1={}
我没有在此处复制完整的脚本,只是粘贴了一个小批处理脚本
2。使用dynamodb扫描操作比较了源和目标中的eventid
我们在这里遇到了数据检索问题,一次可以在dynamodb中获得1 MB的数据
3。我们已使用dynamodb表验证了每个批次记录,并完成了更新过程