2013-04-23 56 views
5

這個問題是基於我的透水問題:Python list help (incrementing count, appending)Python的計數器結果csv文件

我能當我做打印C創建以下輸出;

Counter({(u'New Zealand', 174.885971, -40.900557): 1, (u'Ohio, USA', -82.90712300000001, 40.4172871): 1}) 

這正是我想要的,現在我想知道如何將它寫入csv文件。每一行代表一個新的位置,lon/lat,count。

我想通過計數器循環訪問這些部分: writer.writerow([「A」,「B」,「C」]);

A像新西蘭的位置, B是經/緯度, C是外觀的計數,

如何訪問計數的結果,並獲得所需的那些部分?謝謝。

回答

8

A Counter是標準dict類的子類;你可以循環遍歷字典中的項目進行.iteritems()(蟒蛇2)或剛.items()(蟒蛇3):

for key, count in your_counter.iteritems(): 
    location, lat, long = key 
    writer.writerow([location, lat, long, count]) 

這寫列,與緯度和經度2個獨立的列。如果要將這些列合併爲一列,比如說,作爲兩個座標之間的斜線的字符串,則只需使用字符串格式:

for key, count in your_counter.iteritems(): 
    location, lat, long = key 
    writer.writerow([location, '{}/{}'.format(lat, long), count]) 
+0

這是有效的。謝謝。 – chatu 2013-04-23 15:57:43

+0

如何根據計數對這些升序進行排序? @Martijn – chatu 2013-04-23 19:06:54

+0

我試過排序(your_counter.iteritems()),但按照我需要它的位置排序count。謝謝。 – chatu 2013-04-23 19:19:44