2015-03-14 6 views
-2

У меня есть текстовый файл, например, что:как преобразовать список в словарь в Python

{'XXX': [0.922724, 0.922724, 0.922724, 0.922724, 0.922724, 0.922724, 0.922724, 0.922724, 0.922724, 0.029353, 0.922724, 0.922724, 0.922724, 0.922724, ...], 'YYY': [0.922724, 0.922724, 0.922724], ... } 

что, когда я загружаю в Python с использованием with open он говорит, что его тип является списком, когда имеет словарную структуру.

Я хочу преобразовать этот список в словарь, и я пытаюсь использовать: ast.literal_eval(), но он говорит, что строка порождена.

Как я могу преобразовать этот «список» в словарь ???

+1

Вам нужно точно указать, как вы его загружаете, и как вы определяете его список. –

+0

Можете ли вы показать нам свой код? Мое предположение состоит в том, что вы выполняете 'с открытым (...) как f: data = f.readlines()'. Это будет список всех строк. Вы должны оценить первую строку. –

+0

Я использую open (filename1, 'r') как f для чтения файла. Затем для итерации всех строк: для строки в f: И затем я получаю строки, используя: v = line.split ('\ t') –

ответ

0

Похоже, у вас почти есть JSON в текстовом файле, за исключением того, что одиночные кавычки должны быть двойные кавычки ...

import json 
results = list() 
with open('file.txt') as text_file: 
    for line in text_file.readlines(): 
     results.append(json.loads(line.replace("'", '"'))) 

Конечно, это предполагает, что нет ничего в этом файле, который будет ломать JSON-парсер.

Смежные вопросы