web上の csv ファイルを取得して、メールに添付しながら本文にはテキストでどこぞのキーでsortして毎日・週一でレポートを飛ばす。そのときの備忘録。
- YYYY-MM-DD の dateまわりの文字列処理。https://www.sejuku.net/blog/23606 datatime の利用方法
- MIME メールの送信(テキスト本文+添付ファイル) https://www.python.ambitious-engineer.com/archives/2034
smtplibの使い方 - https://antenna.infomixer.net/2020/02/13/python3-%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E4%B8%AD%E3%81%8B%E3%82%89%E7%94%BB%E5%83%8F%E3%82%92%E6%B7%BB%E4%BB%98%E3%81%97%E3%81%9F%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%92%E9%80%81%E4%BF%A1/
MIMEBaseの使い方 - https://qiita.com/LightSign/items/77a95c3533fda3ab087d
- メール送信時の文字化けの問題。いつものように strの文字列をそのまま本文に入れると\uとか文字化け。byteにして放り込む必要がある(但しメール本文が utf-8になってしまうけど。まぁいまさら jisじゃなくても。。。) https://qiita.com/FGtatsuro/items/f45c349e06d6df95839b
- pands でcolumn で降順でソート。 ascending=False. https://note.nkmk.me/python-pandas-sort-values-sort-index/
- webから取得したときなど、プログラム中に持っている文字列(str)を、dataframe(df)に変換するケース。 pd.read_csv(io.StringIO(data)). dataに httpsで取得したデータが入っているときの処理。ローカルファイルから取得しない場合は io.StringIOらしい。 http://nekoyukimmm.hatenablog.com/entry/2015/10/02/140233,https://pandas.pydata.org/pandas-docs/stable/user_guide/io.html#io-read-csv-table
- メール本文に dfを出力したら、いろいろと削られた。それを修正するには、、、pd.set_option() でいろいろ設定。https://pandas.pydata.org/pandas-docs/stable/user_guide/options.html,https://note.nkmk.me/python-pandas-sort-values-sort-index/ メール中で本文で見やすくするために。
- メールに csvを添付したら、utf-8 が文字化け。excelで開くと文字化けする。一つの原因は bomの問題だったようだ。encodingを 'utf-8'ではなくて、'utf-8_sig' らしい。'_'か'-'はどっちも許容するみたい? https://qiita.com/kino15/items/c9c06bdfc8e4a6ad34e3