【发布时间】:2014-12-20 12:47:29
【问题描述】:
我有一个 .csv 文件,在 Excel 中打开时看起来像这样:
我的代码:
myfile = open("/Users/it/Desktop/Python/In-Class Programs/countries.csv", "rb")
countries = []
for item in myfile:
a = item.split(",")
countries.append(a)
hdi_list = []
for acountry in countries:
hdi = acountry[3]
try:
hdi_list.append(float(hdi))
except:
pass
average = round(sum(hdi_list)/len(hdi_list), 2)
maxNumber = round(max(hdi_list), 2)
minNumber = round(min(hdi_list), 2)
此代码运行良好,但是,当我找到最大值、最小值或平均值时,我需要获取相应的国家名称并将其打印出来。
如何更改我的代码以同时获取最小值、最大值、平均值的国家/地区名称?
【问题讨论】:
-
也许使用字典而不是列表?将国家作为键,将值作为值吗?然后找到最高值的键?
-
这是一个文本文件,为什么不用文本模式打开
...'rt') -
您确定此代码有效吗?国家名称中有逗号,在这种情况下应该有一个额外的字段,值是一个字段。
-
“平均国家/地区名称”是什么样的?
-
@ArtOfWarfare 以 HDI 作为键的字典将防止重复的 HDI 被平均计算