我如何使用def函数写入新文件(n)?我的意思是如何返回该函数?
import csv
from statistics import mean
def calculate_averages(input_file_name,output_file_name):
with open(input_file_name) as f:
with open(output_file_name, "w") as n:
reader=csv.reader(f)
for i in reader:
name=i[0]
l1=list()
for index in i[1:]:
l1.append(int(index))
n.write(str(name)+','+str(mean(l1))+'\n')
f.close()
n.close()
csv文件:
sepehr,19,17,20,14,19
taham,13,17,16,15,15,14,18
salar,14,19,6,12,15,12,19
mahsa,13,19,18,19,20,20,17,11
查看您的代码示例,似乎您没有正确调用函数。这可能就是为什么您看不到任何输出的原因。目前尚不清楚您要完成什么,但是您可能想要更多类似这样的东西:
import csv
from statistics import mean
def calculate_averages(input_file_name, output_file_name):
with open(input_file_name) as f:
reader = csv.reader(f)
for i in reader:
to_print_1 = i[0]
l1 = list()
for val in i[1:]:
l1.append(int(val))
to_print_2 = str(mean(l1))
s = str(to_print_1) + ',' + to_print_2
print(s)
calculate_averages(input_file_name, output_file_name)
我假设input_file_name和output_file_name是在您的程序中预先定义的,并作为字符串传递到calculate_averages函数中,例如“ somefile.csv”或“ outfile.txt”。
总体来说,return calculate_averages
没有执行任何操作,因为没有要返回的名为calculate_averages
的内容。在您的示例中,calculate_averages
是带有两个参数的function,这意味着如果您想执行任何操作,则必须call函数并将其传递给两个参数。