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

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

14.03.2023, 15:42. Показов 953. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru