scrapy JSON字符串提取到字段中

2hh7jdfx  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(167)

我得到这个JSON提取使用scrapy,但desc有amunt和金额类型在,这可能是g,gr,kg,L等,我想知道是否有可能提取此数据,并将其添加到一个额外的字段。
一旦创建了文件,如何在scrapy或单独的过程中实现这一点?
另外,我对JSON还是个新手,我正在学习。

当前

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

所需

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

8yparm6h1#

如果数据具有规则结构(即每个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);

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

相关问题