gpt4 book ai didi

python-3.x - 无法在 Azure 表上获取超过 1000 行的行内容

转载 作者:行者123 更新时间:2023-12-03 02:50:41 25 4
gpt4 key购买 nike

我正在 try catch 超过 1000 行的内容。

所以我尝试将每个内容附加到列表中以便能够使用它。

编码:utf-8

import os
import json
from azure import *
from azure.storage import *
from azure.storage.table import TableService, Entity
import datetime


def Retrives_datas():

twenty_hours_before_now = datetime.datetime.now() - datetime.timedelta(days=1)
now = twenty_hours_before_now.isoformat()
filter = "Timestamp gt datetime'" + now + "'"
maker = None
i=0
table_service = TableService(account_name='MyAccount', sas_token='MySAS')
while True:
tasks = table_service.query_entities('MyTable', filter = filter, timeout=None, num_results=1000, marker=maker)
for task in tasks:
i += 1
print(i,tasks.items[i]['Status'])
if tasks.next_marker != {}:
maker = tasks.next_marker
else:
break

我收到以下错误:

999成功

Traceback (most recent call last): print(i,tasks.items[i]['Status']) IndexError: list index out of range

知道我更换时

print(i,tasks.items[i]['Status'])

print(i)

我得到超过 2770 行。

最佳答案

常见错误list index out of range因为您想要访问列表[1000],即使它只有 1000 个项目(您设置 num_results=1000 )。您只能访问 list[999],因为索引从 0 开始。

往下移动i += 1线。

for task in tasks:

print(i,tasks.items[i]['Status'])
i += 1

我的样本数据:

enter image description here

输出:

enter image description here

<小时/>

作为总结, tasks.item 的长度获取将返回的下一个列表的大小,而不是增量。

解决方案:添加 if i == <num_results>: i = 0

关于python-3.x - 无法在 Azure 表上获取超过 1000 行的行内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56265265/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com