잔인생을 위한 프로그래밍 제-2회

6224 단어 pandas파이썬

개념 바



처음에는 나머지 삶의 날을 계산했습니다.
수명이 81세라고 하면, 자신에게는 나머지 21915일 남아 있습니다(첫회부터 2일 경과했기 때문에 나머지 21913일).
이것은 인생 마지막 날을 후회하지 않고 보낼 수 있게 하기 위한 프로그래밍입니다.

철저한 자기 관리



라고는 해도 아직 학생이며, 당면의 목표는 학업에서 좋은 성적을 거두어, 보다 좋은 회사에 근무하게 됩니다. 그래서 중요한 것이 자기 관리. 그것을 도와주는 태스크 관리 앱 작성을 향해 매일 1보~2, 3보씩 진행해 나가고 싶습니다.

CSV로 관리



전회까지는 Task 클래스를 준비해, 수시 인스턴스를 작성해 태스크를 등록하고 있었습니다만, 이번부터 CSV 파일에 일괄 등록, pandas로 읽어들이고 있습니다.
pandas를 for문으로 돌리는데 itertuple을 사용했는데, 그 폐해로서 열의 이름으로 요소를 꺼낼 수 없게 되었습니다. 다음 번까지 뭔가 좋은 방법을 찾고 싶다.

tasks.csv
タスク名,期限,時間,重要度,備考
Qiitaの記事を投稿する,2021年6月4日,,low,毎日
課題を提出する,2021年6月9日,23:59,high,
Toeicの試験,2021年6月20日,13:00,high,
コインランドリー,2021年6月5日,7:00,mid,毎週

TaskNotify_csv.py
import requests
import datetime
import pandas as pd

class Task:
    def __init__(self, name, date):
        self.name = name
        self.date = datetime.datetime.strptime(date, '%Y年%m月%d日').date()
        self.sentence = "{}まで残り{}日\n".format(name, abs(self.date-today).days)


def createSend(tasks):
    sentences = "\n"
    for s in tasks:
        if s.date >= today:
            sentences += s.sentence

    return sentences


if __name__ == '__main__':
    today = datetime.date.today()

    csv_tasks = pd.read_csv("tasks.csv", sep=',')
    list_tasks =[]
    for row in csv_tasks.itertuples():
        list_tasks.append(Task(row[1], row[2]))

    send_dict = {'message': createSend(list_tasks)}

    TOKEN = 'hoge'
    url = 'https://notify-api.line.me/api/notify'
    TOKEN_dict = {'Authorization': 'Bearer ' + TOKEN}

    requests.post(url, headers=TOKEN_dict, data=send_dict)



다음 번, 제 3 회는 ...



단순한 태스크와 루틴(습관적인 것)을 나누어 구현해 갑니다. Toeic이나 과제는 일회용(기한을 지나면 삭제?), 코인 세탁기는 며칠마다 재등록 같은 느낌으로 할까.

좋은 웹페이지 즐겨찾기