在scrapinghub中序列化小数

时间:2017-09-12 23:01:34

标签: scrapy scrapinghub

我正在关注此link中有关序列化程序的文档,我不确定是否缺少有关十进制序列化程序的文档?我用这样的scrapy字段定义了一个Item:

prize = scrapy.Field(serializer=Decimal, output_processor=TakeFirst())

当scrapinhub存储此值时,我收到了多个错误,尤其是包含逗号的数字。

是否有序列化小数的标准方法?

1 个答案:

答案 0 :(得分:2)

这不是scrapinghubscrapy错误,您无法将带逗号的字符串转换为数字,您首先必须删除该逗号然后转换:

def decimal_serializer(value):
    return float(value.replace(',', ''))

...

    prize = scrapy.Field(serializer=decimal_serializer, output_processor=TakeFirst())