

## 以下のようなcsvファイルを読み取ってデータをまとめる作業を行おうと考えています。

[code]

    ダウンロードした時刻：2019/11/11 16:04:33                  
    
                    寺泊  寺泊
    年   月   日   時   風速(m/s) 風向
    
    2016    12  23  5   9.6 西
    2016    12  23  6   9.8 西
    2016    12  23  7   10.6    西
    2016    12  23  8   10.4    西
    2016    12  23  9   10.5    西
    2016    12  23  10  9.1 西
    2016    12  23  11  8.1 西北西
    2016    12  23  12  7.8 西北西
    2016    12  23  13  6.8 西北西
    2016    12  23  14  6.3 西北西
    2016    12  23  15  6.2 西北西
    2016    12  23  16  6.5 西北西
    2016    12  23  17  6.3 西北西
    2016    12  23  18  6.3 西北西
    2016    12  23  19  5.4 西北西
    2016    12  23  20  3.9 西北西
    2016    12  23  21  4   西北西
    2016    12  23  22  4.6 北西
    2016    12  23  23  4   北西
    
[/code]

* * *

まとめ方は風速１０m/s以上かつ、16方位で西・西北西・北西・北北西・北西・北の6方位を満たす個数をカウントしていくといったものです。csvファイルを読み取り、風速10m/s以上の個数をカウントすることは以下のコードでできています。  
そこから特定の方位を満たしている個数をカウントするところでつまずいております。  
そもそも日本語を場合分けすることは可能なのでしょうか？

現在のコードを以下に記します。  
よろしくお願いいたします。

[code]

     import csv
    
        f = open("寺泊12~1.csv", "r")
        reader = csv.reader(f)
        next(reader); next(reader); next(reader); next(reader); next(reader)
    
        count = 0
        for row in reader:
            colE = float(row[4])
            if colE >= 10:
                count += 1
                print(count)
    
        f.close()
    
[/code]


CC BY-SA 4.0
2019-11-13T01:40:51.227
60460
2020-01-21T08:21:06.343
2020-01-21T08:21:06.343
36312
36312
question
python csv
pythonでcsvファイルの日本語処理


シンプルにリストと`in`演算子で出来るでしょう。  
[Pythonのin演算子でリストなどに特定の要素が含まれるか判定](https://note.nkmk.me/python-in-basic/)

[code]

    import csv
    
    trgDir = ['西','西北西','北西','北北西','北西','北']
    
    f = open("寺泊12~1.csv", "r")
    reader = csv.reader(f)
    for i in range(5):
        next(reader)
    
    count = 0
    for row in reader:
        colE = float(row[4])
        if (colE >= 10) and (row[5] in trgDir):
            count += 1
            print(count)
    
    f.close()
    
[/code]


CC BY-SA 4.0
2019-11-13T02:41:07.920
60463
2019-11-13T02:41:07.920
26370
60460
answer