JSON字符串提取到字段中

时间:2017-08-30 19:41:20

标签: json scrapy

我使用scrapy获取这个JSON提取物,但是desc有amunt和数量类型,这可能是g,gr,kg,L等。我不知道它是否可以提取此数据并将其添加到其他字段中。

创建档案后,如何在scrapy或单独的流程中实现这一目标。

P.S。我对JSON和scrapy以及我的学习都很陌生。

当前

 {
 'p_desc': ['Coffee 225 g '], 
 'p_price': ['8.00']
 }

所需

 {
 'p_desc': ['Coffee'],
 'p_amount': [225]
 'p_amount_type': ['g'] 
 'p_price': ['8.00']
 }

1 个答案:

答案 0 :(得分:0)

如果数据具有常规结构(即每个desc包含金额和金额类型作为最后两个字段),则此类操作有效。如果不是,您可能必须使用正则表达式。

一个观察结果:如果每个值都是唯一的,那么您就不需要列表,例如,您可以使用'Coffee'代替['Coffee']



jsonData = {
  'p_desc': ['Grain Black Coffee 225 g'],
  'p_price': ['8.00']
}

var p_desc, p_amount, p_amount_type;

[p_amount_type, p_amount,...p_desc] = jsonData['p_desc'][0].split(" ").reverse();
jsonData["p_amount"] = [p_amount];
jsonData["p_amount_type"] = [p_amount_type];
jsonData["p_desc"] = p_desc.join(' ');
console.log(jsonData);




此外,您可能需要从说明中删除尾随空格。