前提・実現したいこと
5秒おきにデータを取得し、それをcsvファイルに書き込みプログラムを作成しています。
発生している問題・エラーメッセージ
実行することは可能でデータの入手もできていますが、csvファイルへの出力に何も書きだされていません。(ヘッダも含めて)
該当のソースコード
python
1def to_jst(datestr): 2 return pytz.timezone('UTC').localize(parser.parse(datestr)).astimezone(timezone('Asia/Tokyo')) 3 4 5TICKER_KEYS = ["product_code", 6 "timestamp", 7 "tick_id", 8 "best_bid", 9 "best_ask", 10 "best_bid_size", 11 "best_ask_size", 12 "total_bid_depth", 13 "total_ask_depth", 14 "ltp", 15 "volume", 16 "volume_by_product"] 17 18now = datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S") 19data = [] 20with open(now + "_ticker_data.csv", "w") as f: 21 writer = csv.writer(f,lineterminator='\n') 22 writer.writerow(TICKER_KEYS) 23 while True: 24 ticker = API.ticker(product_code="BTC_JPY") 25 for ticker_key in TICKER_KEYS: 26 if ticker_key == "timestamp": 27 data.append(to_jst(str(ticker[ticker_key]).replace("T", " ")).strftime("%Y/%m/%d %H:%M:%S")) 28 else: 29 data.append(str(ticker[ticker_key])) 30 writer.writerow(data) 31 #print(data) 32 data.clear() 33 time.sleep(5) 34
試したこと
コメントアウトしてあるprint文を実行すると結果が5秒おきに帰ってきます。
また、while True:の部分を消すとヘッダ、一回文のデータともにcsvファイルへ出力されますが、while True:があるとヘッダも何も出力されない状態です。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/27 05:41