Python字符串到数组:TypeError:在0d数组上迭代

2024-06-25 05:51:09 发布

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

我在查询集中有一个字段中的字符串,如下所示:

[{'thirdParty':'fundstransfer'},{'category':'externaltransfer'},{'creditDebit':'credit'}]

我希望能够循环通过orther中的元素,以便能够

{'thirdParty': 'Funds Transfer'}
{'category': 'External Transfers'}
{'creditDebit': 'credit'} 

并且能够循环通过该对象的键

我正在尝试以下操作,但不断出现错误:TypeError:0-d数组上的迭代

import numpy as np
tags = "[{'thirdParty': 'Funds Transfer'}, {'category': 'External Transfers'}, {'creditDebit': 'credit'}]"
# print(type(tags))
# <class 'str'>
arr = list(np.array(tags))
# print(type(tags))
# <class 'numpy.ndarray'>
# print(tags)
# [{'thirdParty': 'Funds Transfer'}, {'category': 'External Transfers'}, {'creditDebit': 'credit'}]
for d in arr:
    print(d)

Tags: numpytypenptagstransfersexternalclasstransfer
2条回答

尝试此操作,因为您在标记中添加了双引号

import numpy as np
tags = [{'thirdParty': 'Funds Transfer'}, {'category': 'External Transfers'}, {'creditDebit': 'credit'}]
arr = list(np.array(tags))
# print(type(tags))
# <class 'numpy.ndarray'>
# print(tags)
# [{'thirdParty': 'Funds Transfer'}, {'category': 'External Transfers'}, {'creditDebit': 'credit'}]
for d in arr:
    print(d)

输出

{'thirdParty': 'Funds Transfer'}
{'category': 'External Transfers'}
{'creditDebit': 'credit'}
import ast

tags = "[{'thirdParty': 'Funds Transfer'}, {'category': 'External Transfers'}, {'creditDebit': 'credit'}]"
tags_list = ast.literal_eval(tags)

print(tags_list)

输出:

[
    {"thirdParty": "Funds Transfer"},
    {"category": "External Transfers"},
    {"creditDebit": "credit"},
]

相关问题 更多 >