Я пытался вычислить среднее значение третьего, четвертого и пятого значений в каждой строке файла .csv, но моя программа будет вычисляться только для первой строки, а не для каждый ряд. Например, этот код:Вычисление среднего значения определенного списка в Python
file=open("file.csv", "r")
data=csv.reader(file)
data=[[row[0],row[1],eval(row[2]),eval(row[3]),eval(row[4])] for row in data]
from statistics import mean
numbers=[row[2],row[3],row[4]]
newdata=[[row[0],row[1],mean(numbers)] for row in data]
sort=sorted(newdata,key=operator.itemgetter(2), reverse=True)
for eachline in sort:
print(eachline)
file.close()
... читает этот файл:
Phillip,Turner,1,4,10
Sarah,Connor,4,8,1
Alex,Grice,2,10,3
Cheesy,Wotsit,3,2,6
Chris,Mclaughlin,10,9,8
Alison,Humphries,4,2,6
и производит это:
['Phillip', 'Turner', 4.0]
['Sarah', 'Connor', 4.0]
['Alex', 'Grice', 4.0]
['Cheesy', 'Wotsit', 4.0]
['Chris', 'Mclaughlin', 4.0]
['Alison', 'Humphries', 4.0]
[ 1], средняя (строка [2:])] для строки в данных] ' – Jkdc
, где вы получили идею t o использовать eval? Кроме того, это больше материала для экзамена gcse? –
работал @Jkdc спасибо - напишите как ответ, и я лучше отвечу на него! – gulliver