Аватар для Alfara
1 / 1 / 0
Регистрация: 20.09.2020
Сообщений: 21

Вернуть словарь из файла

20.10.2020, 21:27. Показов 7309. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Ребят, помогите, пожалуйста. У меня есть функция, которая считывает данные из файла и обрабатывает их
В файле день рождения и день смерти людей. По месяцам. Написано так:
February

2nd February 1882 - James Joyce's birthday, author of Ulysses
7th February 1812 - Charles ****ens's birthday, author of A Christmas Carol
8th February 1828 - Jules Verne's birthday, author of Around the World in Eighty Days

и тд каждый месяц.
Я писала функцию, чтобы вернуть в формат: "8th February 1828 и слова birthday или death."
А теперь мне надо для каждой строки полученной в функции, вернуть словарь в формате {"name": name, "date": date},
где name это имя автора, а date - дата из строки в формате "dd/mm/yyyy" (d-день, m-месяц, y-год)

Мои функции, которые я писала(3 варианта, да)

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#Вариант 1
with open("D:\pythonProject/authors.txt", "r") as text_:
    for record in text_:
        step1 = record.split("", 4)
        step2 = step1[4].split("'s ", 2)
        step3 = step2[1].split(",", 2)
        print(step1[0], step1[1], step1[2], step3[0].lower())
 
#Вариант 2
with open("D:\pythonProject/authors.txt", "r") as f:
    for s in f:
       if len(s.split()) > 1:
           s = s.split(" - ")
       print(s[0], s[1].split(",")[0].split()[-1].lower())
 
# Вариант 3
 
with open("authors.txt", "rt", encoding="utf-8") as file:
    for line in file:
        data, info = line.split("-")
        action = "birthday" if "birthday" in info else "death"
        print(data, action)
----------------------------------------------------------------------
Прошу, помогите это в словарь запихнуть...
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.10.2020, 21:27
Ответы с готовыми решениями:

Вернуть словарь из файла
Дан файл txt написать функцию, которая считывает данные из этого файла, возвращая СПИСОК тех строк в которых есть полная дата,...

Вернуть самое длинное слово, Вернуть словарь-статистику встречаемости букв
Всем добрый день ! Написал 2 функции: def longest_word(text): """Вернуть самое длинное слово в 'text'.""" if...

Вернуть из JSON словарь
Создаю словарь, сохраняю в json формат, как обратно из него вытащить этот же словарь не пойму. {"...

4
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
20.10.2020, 22:05
Python
1
2
3
4
5
6
7
8
9
def parse(line):
    date, info = line.split('-')
    name = info.split(',')[0]
    d,m,y = date.split()
    return {'name' : name, 'date' : date}
 
 
line = '''8th February 1828 - Jules Verne's birthday, author of Around the World in Eighty Days'''
print(parse(line))
1
 Аватар для Alfara
1 / 1 / 0
Регистрация: 20.09.2020
Сообщений: 21
20.10.2020, 22:09  [ТС]
Добрый человек, не сочти за наглость, прошу, но у меня есть 2 часа, чтобы это сдать, а я в этой теме тупа как зубочисточка...
Можешь, пожалуйста, подсказать как вот так сделать?:
Из словарей, полученных в функции этой, создать список словарей.
Например [{"name": "Charles ****ens", "date": "09/06/1870"}, ...,
{"name": "J. D. Salinger", "date": "01/01/1919"}]
0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
20.10.2020, 22:20
Python
1
2
3
4
5
6
7
8
9
10
11
12
def parse(line):
    date, info = line.split('-')
    name = info.split(',')[0]
    d,m,y = date.split()
    return {'name' : name, 'date' : date}
 
 
 
line = '''2nd February 1882 - James Joyce's birthday, author of Ulysses
7th February 1812 - Charles ****ens's birthday, author of A Christmas Carol
8th February 1828 - Jules Verne's birthday, author of Around the World in Eighty Days'''
print(list(map(parse, line.splitlines())))
Добавлено через 2 минуты
не досмотрел требуемый формат даты. так правильно будет
Python
1
2
3
4
5
def parse(line):
    date, info = line.split('-')
    name = info.split(',')[0]
    date = '/'.join(date.split())
    return {'name' : name, 'date' : date}
0
0 / 0 / 0
Регистрация: 22.11.2019
Сообщений: 2
29.03.2022, 18:41
Я вот как сделал.

Сохраняем в формате .py

with open('spisok.py', 'w', encoding='UTF-8') as f:
return f.write('D = '+str(spisok))

Потом просто импортируем как модуль.

from spisok import D
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.03.2022, 18:41
Помогаю со студенческими работами здесь

Как попросить сериалайзер вернуть не массив, а словарь?
Есть несложная табличка, через DRF-запрос получаем массив, элементы которого содержат словари. Можно ли его попросить возвращать...

Как вернуть указатель файла на начало файла?
Как в следующей программе вернуть указатель в начало файла после цикла while? #include <iostream> #include <cstdlib> ...

Словарь для файла
Напишите программу, которая строит алфавитно-частотный словарь для файла input.txt , в котором записаны слова, состоящие только из строчных...

Загрузить словарь из файла
Есть файл .txt с n количеством слов. Нужно создать словарь, разве @"\dict\fast.txt" не должно считывать мои слова из файла? ...

Создать словарь из файла
В общем есть текстовый файл: Advanced SystemCare 8* 17.08.2015 Одна из самых эффективных и популярных программа для оптимизации...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru