Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
0 / 0 / 0
Регистрация: 06.12.2020
Сообщений: 30

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

06.12.2020, 19:37. Показов 3023. Ответов 8

Студворк — интернет-сервис помощи студентам
Здравствуйте, нужна помощь с кодом Python.
Задания:
1) Написать программу, которая находить сумму выпущенных специалистов

вот содержимое моего txt файла:

КГТУ 2015 2005
МГТУ 2018 1653
БГАРФ 2009 1593
СПБГУ 1724 1895
КФУ 1804 1956
РАНХиГС 2010 2236

первый столбец - наименование вуза, второй - год выпуска, а третье - кол-во выпускников

У меня получилось построчно прочитать строки и превратить в отдельные списки, но не знаю как сложить числа из третьего столбца.


2)А потом создать новый файл, в котором Список наименований вузов и количество выпускников, упорядоченный по годам выпуска
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.12.2020, 19:37
Ответы с готовыми решениями:

Дан текстовый файл A.TXT. Сформировать новый файл из строк файла A.TXT, содержащих слово RUN
Дан текстовый файл A.TXT. Сформировать новый файл из строк файла A.TXT, содержащих слово RUN. Помогите пожалуйста. Очень срочно!!!

Дан текстовый файл M8.TXT, содержащий нечетное количество строк. Создать новый файл
Дан текстовый файл M8.TXT, содержащий нечетное количество строк. Создать новый файл, в который поместить строки из файла M8.TXT, длина...

Считывание определённых строк текста из xml файла и копирование их в новый txt файл
Здравствуйте! Подскажите, пожалуйста, VBS-скрипт для считывания определённых строк текста из xml-файла и копирования их в новый txt-файл,...

8
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
06.12.2020, 19:55
Цитата Сообщение от Bogdan2131 Посмотреть сообщение
как сложить числа из третьего столбца
взять строку из списка методом split() разделить по пробелам, получиться список из строки. извлечь последний элемент перевести в инт и складывать в результат и так для каждой строки в цикле

Python
1
2
3
4
5
6
7
>>> line = 'КГТУ 2015 2005'.split()
>>> line
['КГТУ', '2015', '2005']
>>> num = int(line[-1])
>>> num
2005
>>>
1
0 / 0 / 0
Регистрация: 06.12.2020
Сообщений: 30
06.12.2020, 20:07  [ТС]
Спасибо, но у меня получилось только выводить числа из третьего столбца, не подскажете, как можно представить сумму чисел третьего столбца в виде цикла?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
06.12.2020, 20:17
Лучший ответ Сообщение было отмечено Bogdan2131 как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class Entry:
    def __init__(self, args):
        self.name = args[0]
        self.year = int(args[1])
        self.count = int(args[2])
 
    def __str__(self):
        return f'Name: {self.name}, year: {self.year}, count: {self.count}'
 
 
with open("in.txt", 'r') as f_in:
    lst = [Entry(line.split()) for line in f_in.readlines()]
 
print(*lst, sep='\n')
print()
print(f'Total: {sum([i.count for i in lst])}')
print()
 
lst.sort(key=lambda x: x.year)
with open('out.txt', 'w')as f_out:
    for item in lst:
        print(item)
        f_out.write(' '.join((item.name, str(item.count), '\n')))
    f_out.flush()
1
0 / 0 / 0
Регистрация: 06.12.2020
Сообщений: 30
06.12.2020, 20:40  [ТС]
Спасибо большое, всё отлично

Добавлено через 5 минут
я понял в чем ошибка и исправил её, спасибо ещё раз ответ

Добавлено через 10 минут
А не могли бы Вы объяснить некоторые строки из программы, чтобы я не просто бездумно скопировал, а хорошо понял код?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
06.12.2020, 20:47
Некоторые это какие?
0
0 / 0 / 0
Регистрация: 06.12.2020
Сообщений: 30
06.12.2020, 20:56  [ТС]
вот эти: 1) f_out.write(' '.join((item.name, str(item.count), '\n')))
f_out.flush()

2) print(*lst, sep='\n') ------ конкретно (*lst) что делает


3)эта функция def __init__(self, args):
self.name = args[0]
self.year = int(args[1])
self.count = int(args[2])
4)lst = [Entry(line.split()) for line in f_in.readlines()] ----- а здесь что делает Entry
5) и что делает f'...' например в строке: return f'ВУЗ: {self.name}, год: {self.year}, выпускники: {self.count}'
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
06.12.2020, 21:05
А, то есть всё?
Не, все расписывать не буду. Многабукофф.
Берешь непонятное слово, например join. Гуглишь python join. Читаешь до просветления.
0
0 / 0 / 0
Регистрация: 06.12.2020
Сообщений: 30
06.12.2020, 21:08  [ТС]
ладно, всё равно спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.12.2020, 21:08
Помогаю со студенческими работами здесь

Считывание определённых строк текста из xml файла и копирование их в новый txt файл
Здравствуйте! Подскажите, пожалуйста, PowerShell-скрипт для считывания определённых строк текста из xml-файла и копирования их в новый...

Считывание определённых строк текста из xml файла и копирование их в новый txt файл
Здравствуйте! Подскажите, пожалуйста, CMD-скрипт для считывания определённых строк текста из xml-файла и копирования их в новый txt-файл,...

Создать новый файл qa.txt, который будет содержать строки с вопросами и ответами из файлов q.txt и a.txt.
В текстовом редакторе создать два текстовых файла q.txt и a.txt, которые соответственно содержат вопросы и ответы на их. Создать новый файл...

Файл: Если количество строк больше заданного n, то создать новый файл и записать в него строки из данного файла.
Дан файл, содержащий строки. Если количество строк больше заданного n, то создать новый файл и записать в него строки из данного файла....

Найти: Сумму компонент файла f. Записать эту сумму в конец файла. Отсортировать файл по возрастанию значений
Помогите, пожалуйста. Дан файл f, компоненты которого являются действительными числами. Найти: Сумму компонент файла f. Записать эту...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Функция установки текстового статуса в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru