открытие CSV-файла и запись - PullRequest
0 голосов
/ 21 января 2020

, пожалуйста, помогите мне, в чем моя проблема с кодом? мой код написания имени, среднего значения (оценки) на выходе

import csv
from statistics import mean
with open('C:/Users/sina/Desktop/python pt/jalase19.csv' , 'r') as fo:
reader = csv.reader(fo)
for row in reader :
    name = row[0]
    grades = list()
    for grade in row[1:]:
        grades.append(float(grade))
        with open('C:/Users/sina/Desktop/python pt/jalase20.csv' , 'w') as fw:
            fw.write("name , mean(grades)\n")

Ответы [ 2 ]

1 голос
/ 21 января 2020

Вы не делали отступ после оператора "with"

Как описано здесь Вы должны сделать отступ после оператора "with"

Ваш код должен выглядеть так:

import csv
from statistics import mean
with open('C:/Users/sina/Desktop/python pt/jalase19.csv' , 'r') as fo:
    reader = csv.reader(fo)
    for row in reader :
        name = row[0]
        grades = list()
        for grade in row[1:]:
            grades.append(float(grade))
            with open('C:/Users/sina/Desktop/python pt/jalase20.csv' , 'w') as fw:
                fw.write("name , mean(grades)\n")

Также я думаю, что вы имели в виду fw вместо f2

0 голосов
/ 21 января 2020

При открытии файлов у вас отсутствует отступ. Видите, как ошибка указывает на строку 4? При открытии файла с помощью диспетчера контекста и в любое время, когда вы используете оператор управления (если, иначе, для, et c.), Следующая строка должна иметь отступ.

import csv
from statistics import mean

with open('C:/Users/sina/Desktop/python pt/jalase19.csv', 'r') as fo:
    reader = csv.reader(fo)
    for row in reader:
        name = row[0]
        grades = list()
        for grade in row[1:]:
            grades.append(float(grade))
        with open('C:/Users/sina/Desktop/python pt/jalase20.csv' , 'w') as f2:
            f2.write("name , mean(grades)\n")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...