pythonワイ的スニペット

文字化け

 なんか、自分用のプログラムのよく使うコードやらを「スニペット」って言うらしいっすね。しめさばです。

csvファイルを読み込み並び替える

"""今月の予約一覧を表示."""

from datetime import datetime

now = datetime.now()

# ファイルの読み込み
with open('input/books.csv', encoding='utf-8') as f:
    for row in f:
        data = row.rstrip().split(',')
        book_date = datetime.strptime(data[0], '%Y-%m-%d')  # 利用日
        purpose = data[2]  # 会議室の利用目的

        # 今月分だけ表示
        if book_date.year == now.year and book_date.month == now.month:
            view_date = f'{book_date:%m/%d}'  # 日付の整形
            print(view_date + ':' + purpose)  # 表示

input/books.csvはこんな感じ

2015-04-05,佐野健一,Python-勉強会
2015-04-20,近藤浩,Python-勉強会
2015-04-21,藤原幸子,Python-勉強会

csvを取り込み品目の集計を行う

"""品目の集計."""

result = {}
with open('input/report.csv', encoding='utf-8') as fp:
    # 一行ずつ読み込み
    for line in fp:
        # カンマで要素を分割
        sold_at, item_name, amount = line.rstrip().split(',')
        # 辞書にキーがなければ追加
        if item_name not in result:
            result[item_name] = 0
        # 品目をカウント
        result[item_name] += 1

# 集計結果を画面に出力
for key, value in result.items():
    print(key, ": ", value, sep='')

input/report.csvはこんな感じ

コーヒー: 2
オレンジジュース: 2
コーラ: 3
ミネラルウォーター: 1
お茶: 2

 こういうのパッと書けるようになりてーなぁ。




 

お名前どっとこむ


あ、宜しければ・・・。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です