在Python中翻译州名

时间:2014-05-29 21:16:01

标签: python python-2.7 csv dictionary mapping

我在CSV中有一个城市和州的列表:row [0]是城市,row [1]是完整的州名。我希望row [2](当前为空)是州缩写。

我也有这样的清单:

name_to_abbr: {"VERMONT": "VT", "GEORGIA": "GA", "IOWA": "IA",
...
}

我该如何使用它? EG(伪代码)

If row[1].upper() == (one of the first items in pair sets):
     row[2] = (the corresponding second item in pair)

1 个答案:

答案 0 :(得分:2)

name_to_abbr是字典,不是列表。您可以通过多种方式访问​​其内容:

使用try

try:
    row[2] = name_to_abbr[row[1].upper()]
except KeyError:
    pass

使用dict.get

row[2] = name_to_abbr.get(row[1].upper(), "")

或使用in检查密钥:

s = row[1].upper()
if s in name_to_abbr:
    row[2] = name_to_abbr[s]