0

我正在从我的硬盘驱动器导入一个 jsonl 文件并尝试将其转换为可用格式。这是我导入数据的方式。

train_data=[]
with open("Documents/data/train.jsonl",'r',encoding='utf-8') as j:
   for line in j:
           train_data.append(json.loads(line))

这会产生这样结构的数据。

train_data[1]
Out[59]: 
{'id': 46971,
 'img': 'img/46971.png',
 'label': 1,
 'text': 'text'}

基本上我想将此数据转换为字典格式,其中字典值为“id”,其余数据与该字典标签相关联。我相信类似以下内容,但我对 Python 还很陌生,所以我可能会错误地显示它。

print(dict_ex)
{46971: ['img/46971.png', 1, 'text']}
4

3 回答 3

0
# dict[key] = value
dict_ex[data['id']] = [data['img'], data['label'], data['text']]
于 2020-05-20T17:18:45.507 回答
0

尝试这个,

result = {}
for d in train_data:
    for k, v in d.items():
        if k == "id":
            result[v] = []
        else:
            result[v].append(v)
于 2020-05-20T17:20:33.970 回答
0

您可以创建字典并从train_data列表中一一添加新元素:

di = dict()
for o in train_data:
    di[o['id']] = [o['img'], o['label'], o['text']]

print(di)
>>> {46971: ['img/46971.png', 1, 'text']}
于 2020-05-20T17:20:44.213 回答