情報が必要なcsvファイルに問題があります。以下は、私が何をする必要があるかです:CSV:別の列に特定の値がある場合、列の文字列を数える
私はこのように注文されたCSVファイルを持っている:
bla country bla bla value
Germany Y
Germany Y
Germany N
Denmark N
Denmark N
Denmark Y
は今、私のpythonで何をしたいかYの値が同じになるたびにカウントしているがカラム。だから最終的に私はドイツのようなものを得ます:2デンマーク:1。私は、次のコードを使用して列をカウントする方法を見つけ出すことができましたしかし
:
import csv
from collections import Counter, defaultdict
from itertools import imap
from operator import itemgetter
header_counter = defaultdict(Counter)
with open('airlines.csv') as input_file:
r = csv.reader(input_file, delimiter=',')
headers = next(r)
for row in r:
row_val = sum([w.isdigit() for w in row])
for header, val in zip(headers, row):
if not any(map(str.isdigit, val)):
header_counter[header].update({val: row_val})
for k, v in header_counter.iteritems():
print k, v
私はドーナツは、それが行のみをカウントして上記のコードはしかし誰にも多くの使用であると考えます列ごとに整数をフィルタリングします。私が得ることができるどんな助けも私はまだかなり経験していません。
多くの感謝!私はちょうどそれを貼り付けることができるので、私は最高の答えとしてそれを選んだ。私は初心者ですので、非常に参考になりましたが、私はチュートリアルをどこで見つけることができるかを知りたいのですが、私はこれをどのように扱うのかを知りたがります。私はあなたのコードが何をしているのか理解していますが、どうすれば自分で書くべきか分かりません。 – cinderashes