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

Спарсить csv файл где находится таблица с именами учеников

14.03.2023, 15:42. Показов 1035. Ответов 9

Студворк — интернет-сервис помощи студентам
Добрый день читатели Cyberforum. Обращаюсь за помощью к более опытным ребятам, которые хорошо знают питон, сейчас потихоньку учу этот язык и возникла проблема, которую самостоятельно никак не получается решить. Задача такова: спарсить csv файл где находится таблица с именами учеников, их оценки и рейтинги. Нужно найти их средний балл и сумму их рейтингов. Использую при этом в программе множества. У меня есть набросок работы но не понятно как дописать программу.

if __name__ == '__main__':

set_of_students = set()
dict_of_grades = {}
dict_of_rating = {}
list_of_student = []


with open("ratings.csv") as file:
reader = csv.DictReader(file, delimiter=",")
for row in reader:
set_of_students.add(row['name'])
list_of_student.append([row['name'], int(row['grade']), int(row['rating'])])

for name in set_of_students:
dict_of_grades[name] = []
dict_of_rating[name] = []

for student in list_of_student:
dict_of_grades[student[0]].append(student[1])
dict_of_rating[student[0]].append(student[2])
Миниатюры
Спарсить csv файл где находится таблица с именами учеников  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.03.2023, 15:42
Ответы с готовыми решениями:

Выведите два массива: с именами учеников из первой группы и именами из второй
В журнале фамилии и имена учеников записаны в столбик. Учеников распределили на 2 группы для уроков английского языка. Первые K учеников в...

Спарсить csv файл и проверить его на валидность
Всем здравствуйте! Необходимо распарсить csv файл, далее проверить его на валидность(то есть, каждое поле(например, имя, дата рождения и...

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

9
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
14.03.2023, 16:35
Цитата Сообщение от AFINS Посмотреть сообщение
возникла проблема, которую самостоятельно никак не получается решить
Суть проблемы не понятна. Вам нужно написать программу?
Приложите файл (csv), так будет проще.

Добавлено через 1 минуту
Цитата Сообщение от AFINS Посмотреть сообщение
Нужно найти их средний балл и сумму их рейтингов.
После того как они будут найдены, что с ними надо сделать?
0
0 / 0 / 0
Регистрация: 05.12.2021
Сообщений: 14
14.03.2023, 16:39  [ТС]
После нахождения среднего балла и суммы рейтингов учеников вывести эти данные на консоль в виде таблицы
Я бы приложил csv файл но киберфорум не дает этого сделать
0
0 / 0 / 0
Регистрация: 05.12.2021
Сообщений: 14
14.03.2023, 16:43  [ТС]
Структура таблицы
Изображения
 
0
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
14.03.2023, 16:46
Цитата Сообщение от AFINS Посмотреть сообщение
Я бы приложил csv файл но киберфорум не дает этого сделать
Странно. Попробуйте в zip-архив его упаковать.
Цитата Сообщение от AFINS Посмотреть сообщение
Структура таблицы
Структура это хорошо. Но нужен файл для проверки. Мне самому лень его создавать, да и на работе сейчас, времени не так много.
0
0 / 0 / 0
Регистрация: 05.12.2021
Сообщений: 14
14.03.2023, 16:46  [ТС]
https://drive.google.com/file/... sp=sharing
ссылка на csv файл
0
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
14.03.2023, 17:06
Лучший ответ Сообщение было отмечено AFINS как решение

Решение

Разрешённые типы файлов: 7z doc docx gif jpe jpeg jpg log mp4 pdf png psd rar swf txt webm webp xls xlsx zip

Добавлено через 2 минуты
Цитата Сообщение от AFINS Посмотреть сообщение
ссылка на csv файл
Скачал.

Добавлено через 16 минут
AFINS,
Python
1
2
3
4
5
6
7
8
9
10
11
import csv
 
with open('ratings.csv') as file:
    reader = csv.reader(file)
    data = [row for row in reader]
 
average = sum(int(row[1]) for row in data[1:]) / (len(data) - 1)
rating_sum = sum(int(row[2]) for row in data[1:])
 
print(f'Средняя оценка {average}')
print(f'Сумма рейтингов {rating_sum}')
Code
1
2
3
4
Средняя оценка 3.46
Сумма рейтингов 3653
 
Process finished with exit code 0
1
0 / 0 / 0
Регистрация: 05.12.2021
Сообщений: 14
14.03.2023, 17:14  [ТС]
Благодарю. Получилось даже намного,менее мудрено чем у меня )))

Добавлено через 3 минуты
Правда, мне нужно было получить средний бал каждого ученика. С помощью множеств я хотел убрать повторения имен, и у тех кто остался, нужно было рассчитать балл и рейтинг
0
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
14.03.2023, 17:56
Лучший ответ Сообщение было отмечено AFINS как решение

Решение

AFINS,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import csv
 
data = {}
 
with open('ratings.csv') as file:
    reader = csv.DictReader(file)
    for row in reader:
        data.setdefault(row["name"], {"grade": [], "rating": []})
        data[row["name"]]["grade"].append(int(row["grade"]))
        data[row["name"]]["rating"].append(int(row["rating"]))
 
result = [[k, sum(v["grade"]) / len(v["grade"]), sum(v["rating"])] for k, v in data.items()]
for line in result:
    print(*line, sep='\t')
Code
1
2
3
4
5
6
7
Igor    3.3833333333333333  731
Ivan    3.576923076923077   633
Sergei  3.3157894736842106  681
Anton   3.449275362318841   809
Vlad    3.5806451612903225  799
 
Process finished with exit code 0
0
0 / 0 / 0
Регистрация: 05.12.2021
Сообщений: 14
14.03.2023, 17:57  [ТС]
Спасибо, теперь то что надо )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.03.2023, 17:57
Помогаю со студенческими работами здесь

html таблица в csv файл
Подскажите как можно из html таблицы сделать csv файл? Пока что только начал писать public void TableToCSV(string fileName,...

Где на палитре компонентов находится эта таблица?
sg1.Cells

Где спарсить матчи или взять в ввиде json, ато спарсить не получается, нужны название. дата и время и коэфициенты
<? include 'simple_html_dom.php'; $maxpost = '5'; // к-во постов $url = 'http://soccer365.ru/'; $ch = curl_init($url); ...

Делал тз где нужно спарсить данные пост запросом, в итоге получить json файл
https://lesegais.ru/open-area/deal вот сайт от туда требуется взять таблицу. А вот сам код class Program { static string...

Вам доступен csv файл data.csv, содержащий информацию в csv формате.Напишите функцию read_csv для чтения данных из файла
Вам доступен CSV-файл data.csv, содержащий информацию в csv формате. Напишите функцию read_csv для чтения данных из этого файла. Она должна...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Контроль корректности заполнения дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru