import datetime
import os
import pandas as pd
def load_status( filename) :
if os .path .exists ( filename) :
return pd.read_csv ( filename)
else :
return pd.DataFrame ( columns= [ 'time' , 'signal' ] )
def save_status( filename, status) :
status.to_csv ( filename, header= True , index= False )
def main( ) :
filename = 'status.csv'
# ステータスの読み込み
status = load_status( filename)
# 前回のステータス
signal = None
if len ( status) > 0 :
signal = status[ 'signal' ] .iloc [ -1 ]
print ( '前回のシグナル:' + signal )
# なんか処理
print ( '過去のステータスの表示でも・・・' )
print ( status)
# シグナル変化
now = datetime .datetime .now ( ) .strftime ( '%Y-%m-%d %H:%M:%S' ) # 現在時刻
signal = 'buy'
record = pd.Series ( [ now, signal ] , index= [ 'time' , 'signal' ] )
status = status.append ( record, ignore_index= True )
# 終了時に書き出す
save_status( filename, status)
if __name__ == '__main__' :
main( )
aW1wb3J0IGRhdGV0aW1lCmltcG9ydCBvcwppbXBvcnQgcGFuZGFzIGFzIHBkCgoKZGVmIGxvYWRfc3RhdHVzKGZpbGVuYW1lKToKICAgIGlmIG9zLnBhdGguZXhpc3RzKGZpbGVuYW1lKToKICAgICAgICByZXR1cm4gcGQucmVhZF9jc3YoZmlsZW5hbWUpCiAgICBlbHNlOgogICAgICAgIHJldHVybiBwZC5EYXRhRnJhbWUoY29sdW1ucz1bJ3RpbWUnLCAnc2lnbmFsJ10pCgoKZGVmIHNhdmVfc3RhdHVzKGZpbGVuYW1lLCBzdGF0dXMpOgogICAgc3RhdHVzLnRvX2NzdihmaWxlbmFtZSwgaGVhZGVyPVRydWUsIGluZGV4PUZhbHNlKQoKCmRlZiBtYWluKCk6CiAgICBmaWxlbmFtZSA9ICdzdGF0dXMuY3N2JwoKICAgICMg44K544OG44O844K/44K544Gu6Kqt44G/6L6844G/CiAgICBzdGF0dXMgPSBsb2FkX3N0YXR1cyhmaWxlbmFtZSkKCiAgICAjIOWJjeWbnuOBruOCueODhuODvOOCv+OCuQogICAgc2lnbmFsID0gTm9uZQogICAgaWYgbGVuKHN0YXR1cykgPiAwOgogICAgICAgIHNpZ25hbCA9IHN0YXR1c1snc2lnbmFsJ10uaWxvY1stMV0KICAgICAgICBwcmludCgn5YmN5Zue44Gu44K344Kw44OK44OrOicgKyBzaWduYWwpCgogICAgIyDjgarjgpPjgYvlh6bnkIYKICAgIHByaW50KCfpgY7ljrvjga7jgrnjg4bjg7zjgr/jgrnjga7ooajnpLrjgafjgoLjg7vjg7vjg7snKQogICAgcHJpbnQoc3RhdHVzKQoKICAgICMg44K344Kw44OK44Or5aSJ5YyWCiAgICBub3cgPSBkYXRldGltZS5kYXRldGltZS5ub3coKS5zdHJmdGltZSgnJVktJW0tJWQgJUg6JU06JVMnKSAgIyDnj77lnKjmmYLliLsKICAgIHNpZ25hbCA9ICdidXknCiAgICByZWNvcmQgPSBwZC5TZXJpZXMoW25vdywgc2lnbmFsXSwgaW5kZXg9Wyd0aW1lJywgJ3NpZ25hbCddKQogICAgc3RhdHVzID0gc3RhdHVzLmFwcGVuZChyZWNvcmQsIGlnbm9yZV9pbmRleD1UcnVlKQoKICAgICMg57WC5LqG5pmC44Gr5pu444GN5Ye644GZCiAgICBzYXZlX3N0YXR1cyhmaWxlbmFtZSwgc3RhdHVzKQoKCmlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICBtYWluKCkK
stdout
過去のステータスの表示でも・・・
Empty DataFrame
Columns: [time, signal]
Index: []
stderr
Traceback (most recent call last):
File "./prog.py", line 44, in <module>
File "./prog.py", line 40, in main
File "./prog.py", line 14, in save_status
File "/usr/local/lib/python3.7/dist-packages/pandas/core/generic.py", line 3020, in to_csv
formatter.save()
File "/usr/local/lib/python3.7/dist-packages/pandas/io/formats/csvs.py", line 157, in save
compression=self.compression)
File "/usr/local/lib/python3.7/dist-packages/pandas/io/common.py", line 424, in _get_handle
f = open(path_or_buf, mode, encoding=encoding, newline="")
PermissionError: [Errno 13] Permission denied: 'status.csv'