如何解决Python列表在行中添加变量
我试图将变量添加到我创建的列表中。从session.execute获得结果。 我已经做到了:def machine_id(session,machine_serial):
stmt_raw = '''
SELECT
id
FROM
machine
WHERE
machine.serial = :machine_serial_arg
'''
utc_now = datetime.datetime.utcnow()
utc_now_iso = pytz.utc.localize(utc_now).isoformat()
utc_start = datetime.datetime.utcnow() - datetime.timedelta(days = 30)
utc_start_iso = pytz.utc.localize(utc_start).isoformat()
stmt_args = {
'machine_serial_arg': machine_serial,}
stmt = text(stmt_raw).columns(
#ts_insert = ISODateTime
)
result = session.execute(stmt,stmt_args)
ts = utc_now_iso
ts_start = utc_start_iso
ID = []
for row in result:
ID.append({
'id': row[0],'ts': ts,'ts_start': ts_start,})
return ID
在尝试通过api这样获得结果时:
def form_response(response,session):
result_machine_id = machine_id(session,machine_serial)
if not result_machine_id:
response['Error'] = 'Seriennummer nicht vorhanden/gefunden'
return
response['id_timerange'] = result_machine_id
输出看起来不错。
{
"id_timerange": [
{
"id": 1,"ts": "2020-08-13T08:32:25.835055+00:00","ts_start": "2020-07-14T08:32:25.835089+00:00"
}
]
}
现在,我只希望将其ID作为另一个函数的参数。问题是我认为它不是清单。我无法选择第一个元素。 result_machine_id [0]结果类似于发布的输出。我认为在我的第一个函数中,我仅将ts&ts_start添加到第一行?是否可以添加空行,然后将'ts':ts添加为值? 帮助会很好
解决方法
如果我正确理解了您的问题...
您的输出看起来像字典。因此请访问其id_timerange
键,该键会为您提供列表。访问第一个元素,它会给您另一个字典。在此字典上,您有一个id
键:
result_machine_id["id_timerange"][0]["id"]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。