#python #json #python-2.7
#python #json #python-2.7
Вопрос:
Я читаю файл json и получаю информацию, отформатированную таким образом
[{u'brand': [u'ABARTH']}, {u'brand': [u'ALFA ROMEO']} ...
Я могу выполнять итерации по нему, выполняя каждое вычисление с данными, но я не могу удалить символ u и квадратные скобки, когда я выполняю итерацию по списку, чтобы распечатать все элементы
Вы знаете, как я могу это сделать?
Это код, который я использую
import json
data = json.loads(open('brands.json').read())
for item in data:
print str(item['brand']).lower().replace(' ', '-')
Комментарии:
1. То, что у вас здесь есть, — это представление терминов и списков python. Вы не можете удалить скобки, потому что они существуют только в выходных данных. Покажите код, который у вас есть на данный момент, чтобы увидеть, в чем ваша проблема.
2. Я обновил вопрос, показывающий код
3. Пожалуйста, кто-нибудь может сказать мне, что голосовать против? все люди, которые голосуют против, не давая объяснений, — глупые люди
Ответ №1:
Вам не нужно ничего «удалять». У вас есть словарь, каждое из значений которого является списком. Вызов str
списка покажет повторение элементов в нем. Если вы этого не хотите, выведите элементы списка:
for item in data:
print ', '.join(item['brand'])
Комментарии:
1. При этом значения печатаются без u и квадратных скобок
Ответ №2:
Поскольку значение для каждого 'brand'
ключа в каждом словаре является list
объектом, вам нужно выполнить индексацию в нем примерно так — который печатает первый элемент в каждом из этих списков:
data = [{u'brand': [u'ABARTH']},
{u'brand': [u'ALFA ROMEO']},
{u'brand': [u'FORD']}]
for item in data:
print item['brand'][0].lower().replace(' ', '-')
Вывод:
abarth
alfa-romeo
ford