Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在csv中只写入一个浮动项?_Python_Algorithm_Csv_Math - Fatal编程技术网

Python 如何在csv中只写入一个浮动项?

Python 如何在csv中只写入一个浮动项?,python,algorithm,csv,math,Python,Algorithm,Csv,Math,在这个问题上: 首先我从csv文件中读取分数,然后 我在lw列表中保存了以下代码中的一项。 我想在csv文件中写入lw列表。 我该怎么做 我从名为alaki.csv的csv文件中读取分数: mandana,5,7,3,15 hamid,3,9,4,20,9,1,8,16,0,5,2,4,7,2,1 sina,19,10,19,6,8,14,3 sara,0,5,20,14 soheila,13,2,5,1,3,10,12,4,13,17,7,7 ali,1,9 sarvin,0,16,16,13

在这个问题上: 首先我从csv文件中读取分数,然后 我在lw列表中保存了以下代码中的一项。 我想在csv文件中写入lw列表。 我该怎么做

我从名为alaki.csv的csv文件中读取分数:

mandana,5,7,3,15
hamid,3,9,4,20,9,1,8,16,0,5,2,4,7,2,1
sina,19,10,19,6,8,14,3
sara,0,5,20,14
soheila,13,2,5,1,3,10,12,4,13,17,7,7
ali,1,9
sarvin,0,16,16,13,19,2,17,8
在csv文件中输出:

8.401530612244898

请帮助我

您可以通过添加这两行来使用熊猫库

import csv
import pandas as pd
# For the average
from statistics import mean 
import operator
from collections import Counter
def calculate_average_of_averages(input_file_name, output_file_name):
    with open(input_file_name) as d:
        se = csv.reader(d)
        l = {}
        for ldf in se:
            name = ldf[0]
            lsd = mean([float(sd) for sd in ldf[1:]])
            l[name] = lsd
        
        a = list(l.values())
        lw = []
        m = mean(a)
        lw.append(m)

        pd.DataFrame(lw,columns=["yourColumn"]).to_csv(output_file_name+".csv")
        
            
        
        
calculate_average_of_averages('alaki.csv','chert.csv')

可以通过添加这两行来使用pandas库

import csv
import pandas as pd
# For the average
from statistics import mean 
import operator
from collections import Counter
def calculate_average_of_averages(input_file_name, output_file_name):
    with open(input_file_name) as d:
        se = csv.reader(d)
        l = {}
        for ldf in se:
            name = ldf[0]
            lsd = mean([float(sd) for sd in ldf[1:]])
            l[name] = lsd
        
        a = list(l.values())
        lw = []
        m = mean(a)
        lw.append(m)

        pd.DataFrame(lw,columns=["yourColumn"]).to_csv(output_file_name+".csv")
        
            
        
        
calculate_average_of_averages('alaki.csv','chert.csv')
这个怎么样:

import csv
# For the average
from statistics import mean 
import operator
from collections import Counter


def calculate_average_of_averages(input_file_name, output_file_name):
#output_file_name=chert.csv
    with open(input_file_name) as d:
        se = csv.reader(d)
        l = {}
        for ldf in se:
            name = ldf[0]
            lsd = mean([float(sd) for sd in ldf[1:]])
            l[name] = lsd
    m = mean(list(l.values()))
    l["average_of_average"]=m   
    with open(output_file_name,'w') as ff:
        for name,value in l.items():
           ff.write("{},{}\n".format(name,value))
        
calculate_average_of_averages('alaki.csv','chert.csv')
输出如下所示:

mandana,7.5
hamid,6.066666666666666
sina,11.285714285714286
sara,9.75
soheila,7.833333333333333
ali,5.0
sarvin,11.375
average_of_average,8.401530612244898
只输出
average\u/u average

替换写入块:

with open(output_file_name,'w') as ff:
   ff.write(l['average_of_average'])
这个怎么样:

import csv
# For the average
from statistics import mean 
import operator
from collections import Counter


def calculate_average_of_averages(input_file_name, output_file_name):
#output_file_name=chert.csv
    with open(input_file_name) as d:
        se = csv.reader(d)
        l = {}
        for ldf in se:
            name = ldf[0]
            lsd = mean([float(sd) for sd in ldf[1:]])
            l[name] = lsd
    m = mean(list(l.values()))
    l["average_of_average"]=m   
    with open(output_file_name,'w') as ff:
        for name,value in l.items():
           ff.write("{},{}\n".format(name,value))
        
calculate_average_of_averages('alaki.csv','chert.csv')
输出如下所示:

mandana,7.5
hamid,6.066666666666666
sina,11.285714285714286
sara,9.75
soheila,7.833333333333333
ali,5.0
sarvin,11.375
average_of_average,8.401530612244898
只输出
average\u/u average

替换写入块:

with open(output_file_name,'w') as ff:
   ff.write(l['average_of_average'])

我不确定CSV编写器是否需要只写一行

import csv
from statistics import mean

def calculate_mean_of_means(input_file, output_file):
    with open(input_file, newline='') as csvfile: 
        csvreader = csv.reader(csvfile)
        ls = {}
    
        for row in csvreader:
            str_to_int = [int(i) for i in row[1:]]
            ls[row[0]] = str_to_int
    
    total_means = 0
    
    for score in ls.values():
        total_means += mean(score)
        
    mean_of_means = [total_means / len(ls)]
    
    with open(output_file, 'w', newline='') as csvfile:
        meanwriter = csv.writer(csvfile)
        meanwriter.writerow(mean_of_means)

calculate_mean_of_means('alaki.csv', 'chert.csv')

我不确定CSV编写器是否需要只写一行

import csv
from statistics import mean

def calculate_mean_of_means(input_file, output_file):
    with open(input_file, newline='') as csvfile: 
        csvreader = csv.reader(csvfile)
        ls = {}
    
        for row in csvreader:
            str_to_int = [int(i) for i in row[1:]]
            ls[row[0]] = str_to_int
    
    total_means = 0
    
    for score in ls.values():
        total_means += mean(score)
        
    mean_of_means = [total_means / len(ls)]
    
    with open(output_file, 'w', newline='') as csvfile:
        meanwriter = csv.writer(csvfile)
        meanwriter.writerow(mean_of_means)

calculate_mean_of_means('alaki.csv', 'chert.csv')

你的答案不正确