Найти - Пользователи
Полная версия: Как зачитать данные в модель приложения из файла?
Начало » Python для новичков » Как зачитать данные в модель приложения из файла?
1
Anton13
Всем привет, есть модель

     class Human:
        def __init__(self, age, name):
            self.age = age
            self.name = name

Есть txt файл с данными:

     32
    Antonio
    
    44
    Jack
    
    31
    John

Я хочу его прочитать в файл и в приложении иметь лист со списком моделей класса Human.
Подскажите, пожалуйста, вариант, спасибо.
doza_and
Обычно люди берут один из общепринятых форматов файла и читают его в одну строку кода а не выдумывают непойми что в таком виде что его непойми как читать.

В вашем случае подойдут
https://ru.wikipedia.org/wiki/YAML - https://pyyaml.org/wiki/PyYAMLDocumentation
https://ru.wikipedia.org/wiki/JSON - https://docs.python.org/3/library/json.html
https://ru.wikipedia.org/wiki/CSV - https://docs.python.org/3/library/csv.html
Anton13
Ну, если исходник такой, тогда что делать…
Делать из такого txt csv что-ли…
py.user.next
Надо написать конвертер данных.

  
>>> class Human:
...     def __init__(self, age, name):
...         self.age = age
...         self.name = name
... 
>>> def read(text):
...     clean_data = map(str.strip, text.splitlines())
...     out = []
...     n = 1
...     for i in clean_data:
...         if n == 1:
...             age = i
...         elif n == 2:
...             name = i
...             out.append(Human(age, name))
...         elif n == 3:
...             n = 0
...         n += 1
...     return out
... 
>>> 
>>> text = """\
...      32
...     Antonio
...     
...     44
...     Jack
...     
...     31
...     John
... """
>>> 
>>> humans = read(text)
>>> for i in humans:
...     print(i.name, i.age)
... 
Antonio 32
Jack 44
John 31
>>>

doza_and
Обычно люди берут один из общепринятых форматов файла и читают его в одну строку кода а не выдумывают непойми что в таком виде что его непойми как читать.
Для новичков - да. Для реального мира - очень часто бывают данные, которые никто не подгоняет удобно, так как сам не понимает, как должны быть организованы данные. Это и ломанные CSV-файлы, и неправильно сделанные JSON-файлы, и разнотипные данные, умно слитые в один файл. Особенно это заметно у Великих учёных. Они, как правило, ничего не смыслят ни в чём, кроме своей области. Так что есть смысл учиться конвертировать данные из неудобных форматов в форматы, более пригодные для обработки нормальными программами. Это больше пригодится.
Anton13
Благодарю очень.
doza_and
Anton13
Ну, если исходник такой, тогда что делать…
Треснуть по башке того кто такие данные предоставляет чтобы нормально сделал.

Ну если руки коротки то последовать умному совету
py.user.next
Надо написать конвертер данных.
Это в самом деле часто приходится делать, особенно с великими учеными или полными неучами. :)))
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB