teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

エラーコードの変更

2020/10/17 06:11

投稿

kei_124981
kei_124981

スコア11

title CHANGED
File without changes
body CHANGED
@@ -14,7 +14,7 @@
14
14
  これを、bidprice1:1197426.0,bidsize1:0.03882239...
15
15
  という風にcsvに出したいので、それぞれの[]の中の1番目をprice2番目をsizeに関連付けたいのですが、うまくいきません。
16
16
  自分で調べながら以下のコードを書いてみたのですが、以下のエラーが出てしまいます。
17
- __list indices must be integers or slices, not str__
17
+ "'dict' object cannot be interpreted as an integer"
18
18
 
19
19
  何か根本的な部分が間違っているのでしょうか。
20
20
  こんな風に構成したらいいよ、といったような汎用的なアドバイスでも構いませんので、アドバイスいただけると幸いです。

2

コードの編集

2020/10/17 06:11

投稿

kei_124981
kei_124981

スコア11

title CHANGED
File without changes
body CHANGED
@@ -22,14 +22,26 @@
22
22
 
23
23
 
24
24
  ```python
25
+
26
+ #板データの取得
27
+ exchange = ccxt.bitflyer()
28
+ exchange.load_markets()
29
+ #通貨ペア
30
+ symbol = 'BTC/JPY'
31
+ #板の深さ
32
+ limit = 10
33
+ #スリープ秒数
34
+ sleep = 1
35
+
36
+
37
+ #板データの取得
25
38
  def get_board():
26
- data = order_book
39
+ order_book = exchange.fetch_order_book(symbol)
27
- board = (data)
40
+ market_depth = exchange.fetch_order_book(symbol,limit)
28
- dict_data = {'time' : dt.now()}
41
+ dict_data = {'time' : dt.now()} #現在時刻の取得
29
- dict_data.update({'ask_price_{}'.format(i) : board['asks'][i]['price'] for i in range(depth)})
30
- dict_data.update({'ask_price_{}'.format(i) : board['asks'][i]['size'] for i in range(depth)})
42
+ dict_data.update({'ask_price_{}'.format(i): order_book['asks'][0][0] for i in range(market_depth)})
31
- dict_data.update({'bid_price_{}'.format(i) : board['bids'][i]['price'] for i in range(depth)})
43
+ dict_data.update({'ask_size_{}'.format(i): order_book['asks'][0][0] for i in range(market_depth)})
32
- dict_data.update({'bid_price_{}'.format(i) : board['bids'][i]['size'] for i in range(depth)})
44
+ dict_data.update({'bid_price_{}'.format(i): order_book['bids'][0][0] for i in range(market_depth)})
33
- #辞書型をpandas seriesに変換
45
+ dict_data.update({'bid_size_{}'.format(i): order_book['bids'][0][0] for i in range(market_depth)})
34
46
  return pd.Series(dict_data)
35
47
  ```

1

使用したライブラリの追記

2020/10/17 05:44

投稿

kei_124981
kei_124981

スコア11

title CHANGED
File without changes
body CHANGED
@@ -3,6 +3,8 @@
3
3
 
4
4
  【やりたいこと】
5
5
  APIから毎秒受け取る辞書型のデータを整えてcsvに1時間ごとに出力したい。
6
+ https://github.com/ccxt/ccxt/wiki/Manual
7
+ ここのfetc_order_bookを使いたいです。
6
8
 
7
9
  【うまくいかない部分】
8
10
  APIから受け取るのは以下の辞書型のデータです。