Форум сайта python.su
Всем привет, есть модель
class Human: def __init__(self, age, name): self.age = age self.name = name
32 Antonio 44 Jack 31 John
Офлайн
Обычно люди берут один из общепринятых форматов файла и читают его в одну строку кода а не выдумывают непойми что в таком виде что его непойми как читать.
В вашем случае подойдут
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
Отредактировано doza_and (Март 27, 2021 15:19:24)
Офлайн
Ну, если исходник такой, тогда что делать…
Делать из такого txt csv что-ли…
Офлайн
Надо написать конвертер данных.
>>> 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-файлы, и разнотипные данные, умно слитые в один файл. Особенно это заметно у Великих учёных. Они, как правило, ничего не смыслят ни в чём, кроме своей области. Так что есть смысл учиться конвертировать данные из неудобных форматов в форматы, более пригодные для обработки нормальными программами. Это больше пригодится.
Обычно люди берут один из общепринятых форматов файла и читают его в одну строку кода а не выдумывают непойми что в таком виде что его непойми как читать.
Отредактировано py.user.next (Март 27, 2021 16:25:01)
Офлайн
Благодарю очень.
Офлайн
Anton13Треснуть по башке того кто такие данные предоставляет чтобы нормально сделал.
Ну, если исходник такой, тогда что делать…
py.user.nextЭто в самом деле часто приходится делать, особенно с великими учеными или полными неучами. :)))
Надо написать конвертер данных.
Офлайн