fork download
  1. import datetime
  2. import os
  3. import pandas as pd
  4.  
  5.  
  6. def load_status(filename):
  7. if os.path.exists(filename):
  8. return pd.read_csv(filename)
  9. else:
  10. return pd.DataFrame(columns=['time', 'signal'])
  11.  
  12.  
  13. def save_status(filename, status):
  14. status.to_csv(filename, header=True, index=False)
  15.  
  16.  
  17. def main():
  18. filename = 'status.csv'
  19.  
  20. # ステータスの読み込み
  21. status = load_status(filename)
  22.  
  23. # 前回のステータス
  24. signal = None
  25. if len(status) > 0:
  26. signal = status['signal'].iloc[-1]
  27. print('前回のシグナル:' + signal)
  28.  
  29. # なんか処理
  30. print('過去のステータスの表示でも・・・')
  31. print(status)
  32.  
  33. # シグナル変化
  34. now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') # 現在時刻
  35. signal = 'buy'
  36. record = pd.Series([now, signal], index=['time', 'signal'])
  37. status = status.append(record, ignore_index=True)
  38.  
  39. # 終了時に書き出す
  40. save_status(filename, status)
  41.  
  42.  
  43. if __name__ == '__main__':
  44. main()
  45.  
Runtime error #stdin #stdout #stderr 0.51s 67060KB
stdin
Standard input is empty
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'