可能重复:
如何在Python中将列表拆分为大小均匀的块?
我很惊讶我找不到一个"批处理"函数,它将输入迭代并返回一个可迭代的迭代.
例如:
for i in batch(range(0,10), 1): print i
[0]
[1]
...
[9]
Run Code Online (Sandbox Code Playgroud)
要么:
for i in batch(range(0,10), 3): print i
[0,1,2]
[3,4,5]
[6,7,8]
[9]
Run Code Online (Sandbox Code Playgroud)
现在,我写了一个我认为非常简单的生成器:
def batch(iterable, n = 1):
current_batch = []
for item in iterable:
current_batch.append(item)
if len(current_batch) == n:
yield current_batch
current_batch = []
if current_batch:
yield current_batch
Run Code Online (Sandbox Code Playgroud)
但上面没有给我我所期望的:
for x in batch(range(0,10),3): print x
[0]
[0, 1]
[0, 1, 2]
[3]
[3, 4]
[3, 4, 5]
[6]
[6, 7]
[6, 7, 8]
[9] …Run Code Online (Sandbox Code Playgroud) 我对Amazon DynamoDB相当陌生。我目前有20000行需要添加到表中。但是,根据我所阅读的内容,使用BatchWriteItem类和25个WriteRequests似乎一次最多只能写25行。有可能增加吗?如何一次写超过25行?目前大约需要15分钟才能写入所有20000行。谢谢。
database amazon-web-services amazon-dynamodb amazon-redshift