2017-03-23 16 views
-3
bb_strings = re.findall(r'var model = ({.*})', ad) 
bp = {} 
if bb_strings: 
    bp = json.loads(bb_strings[0]) 
    for bl in bp['AVAILABLE_SIZES']: 
     footlocker.append(('size', bl)) 

JSON Pythonの値の解析? CSVアウト

出力データを取得する方法IMG 1 CSV

:私はあなたのJSON文字列をクリーンアップしました IMG 2 CSV

+0

Erはい、ハードコードされた文字列を印刷しているだけです。あなたはデータに全くアクセスしていないようです。 –

+0

入力が与えられていない文字列を定義しているので、何も印刷されません。 jsonモジュールについては、https://docs.python.org/3/library/json.html – cbll

+1

をお読みください。b_string = model ['AVAILABLE_SIZES'] – Igle

答えて

0
size = 0 
bb_strings = re.findall(r'var model = ({.*})', ad) 
bp = {} 
if bb_strings: 
bp = json.loads(bb_strings[0]) 
    for bl in bp['AVAILABLE_SIZES']: 
    size +=1 
    footlocker.append(('size%s' %size, bl)) 
1

それが有効ではなかったので、

import json 
s = '''{"ALLSKUS":["84664020","07961015","84664113","84664116"],"NBR":"137127","PRICERANGE":"$186.99 - $189.99","GENDER_AGE":"Men's","PRICEADJUSTDATE":"","AVAILABLE_SIZES":[" 07.5"," 08.0"," 08.5"," 09.0"," 09.5"," 10.0"," 10.5"," 11.0"," 11.5"," 12.0"," 12.5"," 13.0"," 14.0"," 15.0"]}''' 
j = json.loads(s) 
t = j.get('AVAILABLE_SIZES') 
print [float(x) for x in t] 

>> [7.5, 8.0, 8.5, 9.0, 9.5, 10.0, 10.5, 11.0, 11.5, 12.0, 12.5, 13.0, 14.0, 15.0] 

ステップ:

  • JSONオブジェクトt

  • は、(フロートにJSONオブジェクトから

  • 変換アレイアイテムをavailable_sizesを得るように、文字列

  • 負荷sとしてsを定義しますjson文字列では文字列です)

+0

フォームはs = '' '{ ALLSKUS:[""]、 "NBR": ""、 "PRICERANGE": ""、 "GENDER_AGE": "" PRICEADJUSTDATE ":" "、" AVAILABLE_SIZES ":[" "]} '' '? – fermeg