将字符串化列表转换为python列表并获取值

2024-09-29 21:45:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我对AWS还很陌生。我有两个lambda,第一个对RDS进行查询并收到如下结果 [('asdzxc','12345-0',123),('asdzxc','67890-0',456)],第二个调用第一个并接受查询。问题是查询是以字符串形式接收的: “[('asdzxc','12345-0',123),('asdzxc','67890-0',456)]”。我需要迭代并获取值,以便在另一个输出中使用它们。但当我迭代时,每行显示一个字符。我一直在阅读一些文档,并尝试使用json.loads()list()tuple()ast.literal_eval。但我还是一样

这是第一个lambda的片段:

query = select_from_bcuc(rut_crypto)
print(query)
str_data = json.dumps(str(query))
return {
        'statusCode': 200,
        'request_id': request_id,
        'body': str_data,
        'msg': 'Hello from extractData!!!'
    }

> output: [('asdzxc', '12345-0', 123), ('asdzxc', '67890-0', 456)]

第二个lambda:

obj = extractData(rut)
    if obj:
        print('Getting data.')
        print(obj['body'])
        p = json.loads(obj['body'])
        print(p)

> output: "[('asdzxc', '12345-0', 123), ('asdzxc', '67890-0', 456)]"

Tags: lambdafromidjsonobjdatarequestbody
1条回答
网友
1楼 · 发布于 2024-09-29 21:45:09

您可以使用literal_eval

import ast
s="[('asdzxc', '12345-0', 123), ('asdzxc', '67890-0', 456)]"
a_list = ast.literal_eval(s)
print(type(a_list), a_list)

给出:

<class 'list'> [('asdzxc', '12345-0', 123), ('asdzxc', '67890-0', 456)]

相关问题 更多 >

    热门问题