How to Import Data in .bson Fileこの記事で説明したように、私は何とかStataにロードしたい.bsonファイルを持っています。bsonをjsonに変換してください(次にstataのcsvまたはjsonにロードしてください)
ベストケースのシナリオは.csvファイルを作成することですが、それを.jsonファイルに変換することも効果的です。それから私はStataにinsheetjson
を使うことができると思います。
私はPythonに精通しており、この投稿を見つけました。MongoDB: BSON to JSON私はこの作業を取得するにはどうすればよい
result = db.mycol.find({ ....})
json = simplejson.dumps(result)
:答えは1つがsimplejson
パッケージとJSONにBSONを変換するには、このコードを使用することができることを言いましたか?私は正確にどのようにbsonファイルをPythonに読み込むのかわかりません(これはdb
オブジェクトが何であるかと思います)。私はまた、かっこで何をすべきかわからない({ ....})
。助言がありますか?ここでも.bsonデータを.csvまたは.jsonに変換するもう1つの簡単な方法も歓迎されます。
with open("filepath/games.bson", "r") as myfile:
data = myfile.read()
#note that we need to change to unicode because of errors with some characters
data2 = unicode(data, errors='ignore')
with open('filepath/games.json', 'w') as data_file:
json.dump(data2, data_file)
をしかしdata
とdata2
の両方で、私は次のようになり、結果取得:
***更新
助言にコメントを取って、私は次のことを行っている
\x00\x02fg_pct\x00\x05\x00\x00\x00.273\x00\x10fga\x00\x0b\x00\x00\x00\x10ft\x00\x01\x00\x00\x00\x02ft_pct\x00\x05\x00\x00\x00.500\x00\x10fta\x00\x02\x00\x00\x00\x02mp\x00\x06\x00\x00\x0021:00\x00\x10orb\x00\x01\x00\x00\x00\x10pf\x00\x02\x00\x00\x00\x02player\x00\x0b\x00\x00\x00Juan Dixon\x00\x10plus_minus\x00\xee\xff\xff\xff\x10pts\x00\x08\x00\x00\x00\x10stl\x00\x01\x00\x00\x00\x10tov\x00\x01\x00\x00\x00\x10trb\x00\x02\x00\x00\x00\x00\x037\x00\xf7\x00\x00\x00\x10ast\x00\x02\x00\x00\x00\x10blk\x00\x00\x00\x00\x00\x10drb\x00\x02\x00\x00\x00\x10fg\x00\x00\x00\x00\x00\x10fg3\x00\x00\x00\x00\x00\x02fg3_pct\x00\x05\x00\x00\x00.000\x00\x10fg3a\x00\x03\x00\x00\x00\x02fg_pct\x00\x05\x00\x00\x00.000\x00\x10fga\x00\x05\x00\x00\x00\x10ft\x00\x02\x00\x00\x00\x02ft_pct\x00\x05\x00\x00\x00.500\x00\x10fta\x00\x04\x00\x00\x00\x02mp\x00\x06\x00\x00\x0020:00\x00\x10orb\x00\x00\x00\x00\x00\x10pf\x00\x02\x00\x00\x00\x02player
を
これは私が欲しいものではないようです。もしそうなら、私はStataや他のプログラムでそれを開く方法がわかりません。
を、私は 'result'は、純粋なPythonの辞書/リストになることをかなり確信しています。その場合、JSONを有効な文字列にするには 'json.dumps(result)'を実行し、JSONをファイルに保存するには 'json.dump(result)'をPythonの標準の 'json' libを使うだけです。私は何かを誤解しましたか? – lucasnadalutti
私はこれをやろうとしており、質問を結果に更新しました。 – bill999
myfileとしてopen( "filepath/games.bson"、 "r")をopen( "filepath/games.bson"、 "rb")でmyfileとして置き換えてみてください: ' – lucasnadalutti