将结构化数据转换为元组的python数组



我有一个输入文件,其中包含如下结构的数据:

[
{
"raw": "blah blah",
"entities": [
{
"offset": 100,
"end": 145,
"entityId": "CREDIT_CARD_NUMBER"
}
]
},
{
"raw": "blah blah",
"entities": [
{
"offset": 200,
"end": 300,
"entityId": "CREDIT_CARD_NUMBER"
}
]
}
]

将其转换为这种格式(元组的python数组(最合适的方法是什么?

[
(
"blah blah",
{"entities": [(100, 145, "CREDIT_CARD_NUMBER")]},
),
(
"blah blah",
{"entities": [(200, 300, "CREDIT_CARD_NUMBER")]},
),
]

如果您想创建一个具有相同信息的新数组,这就足够简单了。

ele['raw']提供blah blah

[tuple(ele['entities'][0].values())]提供[(100, 145, 'CREDIT_CARD_NUMBER')]作为列表

arr = [{"raw": "blah blah","entities": [{"offset": 100,"end": 145,"entityId": "CREDIT_CARD_NUMBER"}]},{"raw": "blah blah", "entities": [{"offset": 200,"end": 300,"entityId": "CREDIT_CARD_NUMBER"}]}]
ans = [(ele['raw'],{'entities':[tuple(ele['entities'][0].values())] }) for ele in k]

out:

[('blah blah', {'entities': [(100, 145, 'CREDIT_CARD_NUMBER')]}),
('blah blah', {'entities': [(200, 300, 'CREDIT_CARD_NUMBER')]})]

最新更新