【发布时间】:2021-02-07 05:43:43
【问题描述】:
我一直在尝试创建一个函数,该函数通过它们的值对 CSV 文件进行排序,然后将输出写入另一个 CSV 文件。问题是我只是不知道如何根据它们的值对字典进行排序。
这是输入:
mandana,5,7,3,15
jach,3,9,4,20,9,1,8,16,0,5,2,4,7,2,1
sina,19,10,19,6,8,14,3
sarah,0,5,20,14
julie,13,2,5,1,3,10,12,4,13,17,7,7
ally,1,9
sarvin,0,16,16,13,19,2,17,8
预期输出:
ally,5.0
jach,6.066666666666666
mandana,7.5
julie,7.833333333333333
sarah,9.75
sina,11.285714285714286
sarvin,11.375
这是代码:
def calculate_sorted_averages(input_file_name, output_file_name):
with open (input_file_name) as f:
a = []
file1 = csv.reader(f)
file2 = OrderedDict()
for element in list(file1):
file2[element[0]] = [int(j) for j in element[1:]]
for i in file2:
a.append((i + ',' + str(mean(file2[i]))))
with open (output_file_name, 'w', newline='') as o:
file3 = csv.writer(o, delimiter='\n')
file3.writerow(a)
【问题讨论】:
标签: python csv sorting dictionary