2013-04-23 9 views
5

csvファイルに結果:私は、印刷cを行うときは、次の出力を作成することができていますPython list help (incrementing count, appending)Pythonのカウンターは、この質問は私の透過性の問題に基づいています

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は

がどのように私は、カウントの結果にアクセスし、それらの希望の部分を取得することができ、 Cは外観のカウントである、 Bは、緯度/経度で、ニュージーランドのような場所ですか?ありがとう。

答えて

8

Counterは、標準dictクラスのサブクラスです。

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

これは、緯度と経度のための2つの別々の列で、列を書き込む:あなたは.iteritems()(パイソン2)または単に.items()(Pythonの3)と辞書内の項目をループすることができます。これらを2つの座標の間にスラッシュを入れた文字列として1列にまとめるには、文字列フォーマットを使用します。

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

これは機能します。ありがとう。 – chatu

+0

カウントに基づいてこれらの昇順をソートするにはどうすればよいですか? @Martijn – chatu

+0

私はソート(your_counter.iteritems())しようとしましたが、それはカウントのために必要な場所で並べ替えます。ありがとう。 – chatu

関連する問題