実現したいこと
以下のような辞書型の配列(dic.txt)を使って、'data'の中身の配列だけを取り出したいです。
... 'data': array([[169, 167, 171, ..., 101, 103, 103], [178, 175, 180, ..., 101, 103, 104], [219, 223, 223, ..., 89, 93, 86], ..., [157, 157, 157, ..., 99, 99, 95], [168, 168, 170, ..., 96, 99, 95], [213, 213, 212, ..., 87, 86, 83]], dtype=uint8) #実際は、一つの配列につき173の要素が含まれています。(省略はされていません。) ...
そのために、以下のようなコードを試してみましたが、
python
1txt = open('dic.txt','r') 2data = txt.read() 3data['data']
このようなエラーが出ました。
TypeError: string indices must be integers
どう解消したら良いでしょうか。
python3使用
もしも、dic.txt の中身が質問文にある通りであれば、Numpy ndarray が途中で省略されている(three dots)ので、復元は不可能になります。
どういうことでしょうか?
array([[169, 167, 171, ..., 101, 103, 103],
となっていますので、171 と 101 の間の数値が省略されてしまっています。ところで、dic.txt の中身は実際にはどうなっているのでしょうか? 問題がなければ先頭の数行を質問文に追記すると、誰かがまともな回答をしてくれるかもしれません。
なるほど。
書き方が悪く申し訳ありません。
実際は、dic.txtの中身は省略されておらず、一つの配列に173の要素が含まれていて、長くなると思いまして...で省略しております。
質問を少し改良します。
「dic.txt」を作成した時のコードも質問に記載した方が、状況が他人に正確に伝わるように思います
回答2件
あなたの回答
tips
プレビュー