2017-03-09 27 views
0

私のデータフォルダには、Amazonの製品情報、評価、レビューなどの多くのjsonファイルがあります。各jsonファイルには、特定の1つのAmazon製品に関する情報が含まれています。私は私のプロジェクトの最初のステップで立ち往生しています:データを読み込みます。 私が試した: JSONモジュール:json.loads(...)これらのjsonファイルの読み方

JSONDecodeError: Expecting value: line 1 column 1 (char 0) 

をし、私が試した: パンダをJSONリーダー:pd.read_json(...)

ValueError: Mixing dicts with non-Series may lead to ambiguous ordering. 

誰でもしてください親切これで私を助けてください。どうもありがとうございます!

{ "レビュー"::以下

は、ファイルコンテンツの一つである[]、 "ProductInfo":{ "価格": "$ 1,039.95" は、 "機能":「KITは、15製品が含まれて - すべてのブランドを新しい付属品+全米保証:\ n < 1> Nikon D5200デジタル一眼レフカメラ& 18-55mm G VR DX AF-Sズームレンズ(赤)+ < 2> Nikon 55-200mm VR DX AF- Sレンズ+ < 3>三洋電機500mm望遠レンズ+ \ < 4>トランセンド32GBクラス10 SDカード+ <> Vivitar 52mm UVガラスフィルター+ < 6>追加Vivitar 52mm UVガラスフィルター+ <> ML-L3シャッターリモコン+ \ n < 8> Rokinon 67 \ "Monopod &ケース+ < 9 PDノートPC /タブレットDSLRバックパック+ < 10> PD 2.5x Tele & .45xワイドレンズ+ < 11> PD 6pcコンプリートクリーニングキット+¥<> PDメモリカードストレージウォレット+ < 13インチ液晶モニタースクリーンプロテクター+ < 14インチTマウントfor Nikon + < 15インチTマウント用取扱説明書、 "名称": "Nikon D5200デジタル一眼レフカメラ& 18-55mm G VR DX AF-Sズームレンズ(赤)、55-200mm VR + 500mm望遠レンズ+ 32GBカード+バックパック+テレ/ワイドレンズ+モノポッド+アクセサリキット」、「ImgURL」:「http://ecx.images-amazon.com/images/I/61wRao9FbdL.SY300.jpg」、「ProductID」:「B00B4EKX8A」}}%

+0

なぜ最後に%記号がありますか? – oshaiken

+0

私は知らない。それらは私が入手したファイルです。 @oshaiken – zesla

+0

あなたの完全な正確なコードを表示してください。 –

答えて

0
import json 
with open('data.json') as data_file: 
    data_string = data_file.read()  
    try: 
     data = json.loads(data_string) 
     print('Success!') 
    except ValueError: 
     print('Failed:') 
     print(repr(data_string))   

から%記号を削除します。

+0

ありがとう。できます。 – zesla

0

あなたはこれを試しましたか:

import requests 
import json 
r = requests.get(url, timeout=1000) 
data = json.loads(r.text) 
+0

なぜ私はリクエストが必要ですか?私のJSONファイルはURLではなくローカルです... – zesla

0

JSONがファイル内にある場合は、ロードして正しいキーを読み込むだけです。

import json 
with open('data.json') as data_file:  
    data = json.load(data_file) 

あなたは、あなたのJSONはそれの最後に%を持っている理由

data["productInfor"]["Price"]

また

ないように注意してくださいのようなキーにアクセスすることができるはずですが、それはそれは正しくない形式であるべきではありませんので、エラーなしでロードすることはできません。

ファイルの最後に%を付けずに実行してください。

0

は、それが失敗した場合は、私たちに出力を表示し、入力JSON

関連する問題