我从Web服务中获得了大量类似Json的数据。数据格式与Json相同,但是:
样本将是:
[{ID:0,N:'3ergy',SIP:'',NC:'502',R:'',....
这是一种众所周知的格式吗?是否有可以将其转换为列表的Python工具?
答案 0 :(得分:1)
由于 DrC 建议我能够解析您提供的pyyaml行。
import yaml
data = "[{ID:0,N:'3ergy',SIP:'',NC:'502',R:''}]"
parsed_data = yaml.load( ": ".join(data.split(":")))[0]
# {'SIP': '', 'R': '', 'NC': '502', 'ID': 0, 'N': '3ergy'}
parsed_data.get("NC")
# '502'
答案 1 :(得分:1)
我毫不犹豫地分享我的解决方案,因为它非常难以利用这一特定输入数据的特征。但是,按照亚历山大的要求,这里是:
# source data is stocks="[{ID:0,N:'3ergy',SIP:'',NC:'502',R:'',...},
# {ID:1,N:'aaaaa',SIP:'',NC:'nnn',R:'nn',...}, .... ]"
Stocks = [] #parsed result
i = 1
while i>0:
end = stocks.find('}',i)
stock = stocks[i+1:end]
parts = stock.split(',')
Stock = {}
for part in parts:
key,value=part.split(':')
Stock[key] = value.strip("'"))
Stocks.append(Stock)
i = stocks.find('{',end)