Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 24, 2023 01:58:21

Uselink
Зарегистрирован: 2023-10-24
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Как соотносить данные из файлов txt и формировать новый txt c результатами

Здравствуйте! Потихоньку изучаю Python )) Появилась необходимость сделать такую программу, которая может сравнивать и подбирать данные из двух текстовых файлов, а результаты записывать в третий текстовый файл. Например, содержание первого текстового файла:

Сидоров Иван Сидорович новичок программирование, тестирование 1С, SQL
Иванова Ольга Петровна профессионал программирование, Java, SQL, 1C
Ветров Иван Анатольевич профессионал HTML, Postgree, Unix, 1C

Второй файл содержит список задач, и возможное время исполнения:

Протестировать базу 1С новичок тестирование 1ч
Написать программу на Java профессионал программирование 4ч
Развертывание SQL-сервера профессионал 8ч

В третьем файле хотелось бы иметь такой результат, который бы программа подбирала из двух предыдущих, причем неисполнимые результаты подбора относила бы в свою графу, например:

Сидоров Иван Сидорович - 1ч
1. Протестировать базу 1С новичок тестирование 1ч

Иванова Ольга Петровна - 4ч
1. Написать программу на Java - 4ч

Неисполнимые задачи:
1. Развертывание SQL-сервера - 8ч


Подскажите пожалуйста, какой должен быть код такой программы? Очень прошу помощи, спасибо заранее!

Офлайн

#2 Окт. 24, 2023 02:20:12

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9731
Репутация: +  843  -
Профиль   Отправить e-mail  

Как соотносить данные из файлов txt и формировать новый txt c результатами

Тебе нужно прочитать первый файл и получить словари строк, где в каждом таком словаре будет имя, уровень, список областей, список навыков.
Тебе нужно прочитать второй файл и получить словари строк, где в каждом таком словаре будет задание, уровень, область, время.
Тебе нужно написать поиск в одних словарях по значениям из других словарей.

То есть тебе надо данные сначала из файла ввести в оперативную память, причём не просто ввести их, а ещё сформировать из этих данных удобные структуры, в которых легко определять, где и что находится, и в которых легко искать какие-то значения в списках значений. Так что это словари, в которых есть просто строки, а есть списки, а могут быть и ещё какие-то словари маленькие.

Ну вот в эту сторону копай.



Отредактировано py.user.next (Окт. 24, 2023 02:21:09)

Офлайн

#3 Окт. 24, 2023 07:39:56

Uselink
Зарегистрирован: 2023-10-24
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Как соотносить данные из файлов txt и формировать новый txt c результатами

Спасибо огромное за ответ! А где можно пример кода посмотреть? Я понял, что нужно делать словари. Код примерно так выглядит?

file = open(“text”)
onstring = file.read().split(“\n”)

dict = dict()

for item in onstring:
key = item.split(“ ”)
value = item.split(“ ”)
dict = value

file.close()
{'smt1': , ‘smt2’: , ‘smt3’: }

Или как-то по-другому?

Офлайн

#4 Окт. 24, 2023 08:25:44

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2586
Репутация: +  60  -
Профиль   Отправить e-mail  

Как соотносить данные из файлов txt и формировать новый txt c результатами

Тебе нужно прежде всего подумать над форматом файлов
ПОнимаешь у тебя в каждой стоке разное количество слов а тебе нужно как то логически разделять их на блоки

Например
1.Протестировать базу 1С новичок тестирование 1ч
2.Написать программу на Java которая добывает нефть профессионал программирование 4ч

Итого - разделим на четыре блока: задача - уровень - вид - время
1.Протестировать базу 1С - новичок - тестирование - 1ч
2.Написать программу на Java которая добывает нефть - профессионал - программирование - 4ч

Вот когда ты будешь в питоне считывать файл - тебе нужно как то делить эти строки на блоки
Реально можно использовать любой символ “:” “;” “#” и так далее а потом уже в коде разбивать строку по этому символу
методом split()
Однако это упоротый вариант
Тут стоит подумать о том что бы использовать CSV формат файла где данные уже разбиты поблочно через разделитель
Ибо сам по себе текстовый файл как струуктура данных непригоден

Ну а как разберешься - все сразу станет легко и понятно как это сделать
тебе даже словарь не нужен будет так как у тебя каждая строка это всегда 4 блока



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#5 Окт. 24, 2023 22:35:02

Uselink
Зарегистрирован: 2023-10-24
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Как соотносить данные из файлов txt и формировать новый txt c результатами

ZerG
Тебе нужно прежде всего подумать над форматом файловПОнимаешь у тебя в каждой стоке разное количество слов а тебе нужно как то логически разделять их на блокиНапример 1.Протестировать базу 1С новичок тестирование 1ч2.Написать программу на Java которая добывает нефть профессионал программирование 4чИтого - разделим на четыре блока: задача - уровень - вид - время1.Протестировать базу 1С - новичок - тестирование - 1ч2.Написать программу на Java которая добывает нефть - профессионал - программирование - 4чВот когда ты будешь в питоне считывать файл - тебе нужно как то делить эти строки на блокиРеально можно использовать любой символ “:” “;” “#” и так далее а потом уже в коде разбивать строку по этому символуметодом split()Однако это упоротый вариант Тут стоит подумать о том что бы использовать CSV формат файла где данные уже разбиты поблочно через разделительИбо сам по себе текстовый файл как струуктура данных непригоденНу а как разберешься - все сразу станет легко и понятно как это сделатьтебе даже словарь не нужен будет так как у тебя каждая строка это всегда 4 блока


Спасибо огромное за помощь! Можно ли попросить привести пример такого кода, как к примеру поделить на блоки? Я головой понимаю, как решать задачу, но не совсем понимаю, что в коде писать.

Офлайн

#6 Окт. 25, 2023 12:18:41

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2586
Репутация: +  60  -
Профиль   Отправить e-mail  

Как соотносить данные из файлов txt и формировать новый txt c результатами

https://realpython.com/python-csv/



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#7 Окт. 25, 2023 16:21:28

Uselink
Зарегистрирован: 2023-10-24
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Как соотносить данные из файлов txt и формировать новый txt c результатами

Огромное спасибо!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version