こんにちは。今回もPythonの基本的な使い方で曖昧に理解している事を復習し、備忘録として残します。
環境:Mac、Python3
Contents
Python:ファイルに書き込む
outputディレクトリーにあるoutput.txtへ書き込みます。
Pythonの関数open()に’w’をつけると書き込むためにファイルを開きます。
output.txtを開くと、us-stocksと記録されています。
ファイルを開くモードの種類
- r: 読み込み専用。省略可能。
- w: 書き込み時に指定。ファイルが存在しない場合は新しいファイルが作られる。
- x: ファイルが存在しない場合のみ、ファイルを作り書き込む。ファイルが存在する場合は何もしない。
- a: 末尾に書き込み。ファイルが存在しない場合はファイルを作成して書き込む。
for文を利用してファイルに書き込む
リストの項目をファイルに書き込みます。
書き込む際に、改行させます。
Python:datetimeモジュール
datetimeモジュールのdatetimeクラスを呼び出します。
Pythonの関数now()メソッドを使用します。
次のようにその時の日付と時間が返されます。
2019-01-14 16:23:17.517334
次の種類を覚えておくと良いでしょう。
- date: 年月日の日付
- time: 時分秒とマイクロミリ秒の時刻
- datetime: 日付、時刻の両方
- timedelta: 日付、時刻の間隔
年月日を表示させる
次のように表示されます。
2019年
1月
14日
時間を表示させます。
次のように表示されます。
16時37分52秒
指定した日付を作成する
2019年1月1日という固定した日付を持つ変数を作成します。
このように出力されました。
2019-01-01 00:00:00
日付を文字列に変える
Pythonの関数strftimeを使用します。
次の種類を覚えておくと良いでしょう。
- %Y : 西暦(4桁)
- %m : 0埋めした月
- %d : 0埋めした日にち
- %H : 0埋めした時 (24時間表記)
- %M : 0埋めした分
- %S : 0埋めした秒
文字列を日付に変換する
Pythonの関数datetime.strptime(時刻が入った変数, フォーマット形式)を使用してdatetime型の日付に変換します。
次のように変換されました。
2019-01-01 00:00:00
str_gantanとgantanの表記を合わせる必要があります。
この場合は、年月日にします。
timedelta
timedeltaは、日付の差分を割出してくれます。
大晦日の100日前を割り出してみました。
次のように答えが返ってきました。
2019-09-22
因みに’%Y-%m-%d’を’%Y年%m月%d日’にするとエラーが発生します。
文字の日付をdate型にして計算し、文字列に戻す
文字列’2019-04-01’の10日後をtimedeltaを使用して計算します。その後printするために文字列型へ戻します。
このように出力されました。
2019-04-11
ファイルから日付データを読み込み、表示形式を変更する
date.txtには次のデータが存在します。このデータの表示形式を2019/01/01といったスラッシュ区切りにします。
2019-01-01
2019-01-02
2019-01-03
次のように変換されました。
2019/01/01
2019/01/02
2019/01/03
日時をファイルへ書き込む
現在日時をoutput/date.logファイルへ書き込みます。
次のように書き込まれました。
2019/01/17 22:11
現在時刻に合わせて書き込む内容を変更する
日本のマーケット開場時間である午前9時から午後3時の間の場合は、マーケットオープンとログを残し、それ以外の時間の場合はマーケットクローズというログを残してみます。
次のように書き込まれました。
2019/01/17 22:27 | マーケットクローズ
いかがでしたでしょうか?
プログラムを書く時、どう書けば良いのかというイメージが湧くようになってきたのではないでしょうか?