Задать вопрос
@xaxle12

Как вытащить нужные данные из файла?

Например, я имею что-то вроде этого
[created_at":"2022-08-11T14:01:46.886Z", "city":"Lawton","country":"US",]
Как вытащить только значения city и country?
  • Вопрос задан
  • 105 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
Можно реплейсить первый символ на "{", а последний на "}" (если там были не квадратные скобки, то валимся с ошибкой). Ну и предпоследний символ если запятая, то его удаляем.
Ну и кавычку добавить придётся вторым символом.
Если от валидного json ваш текст отличают только эти нюансы, то предложенного выше будет достаточно, потом просто парсим как json.

Ещё можно без модификаций этот текст загрузить как yaml стандартной библиотекой.
При этом вы получите список из трёх элементов:
1) строка 'created_at":"2022-08-11T14:01:46.886Z"'
2) Словарь с одним элементом: {'city': 'Lawton'}
3) Словарь с одним элементом: {'country': 'US'}
Ну а что с этим потом делать - уже разберетесь.
Yaml гораздо больше вольностей в своём формате допускает.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Hivemaster
@Hivemaster
Админ, который хочет программировать
Если прям в текущем виде, то придётся вычленять нужные данные строковыми операциями или регулярными выражениями. Если бы данный были корректным json, можно было бы десериализовать их в словарь.
Ответ написан
Dunaevlad
@Dunaevlad
У тебя формат данных, является ошибочным, не может быть такого, как ты написал.
Тебе надо сделать его в:
["created_at", "2022-08-11T14:01:46.886Z", "city","Lawton","country","US",]

и потом:
def convert(data):
    it = iter(data)
    res_dct = dict(zip(it, it))
    return res_dct

print(convert(data["city"],data["country"]))
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы