scrapy执行这个脚本cmdline.execute("scrapy crawl detail -o ductdetail.csv")输出数据时,发现字段Item/Field的顺序不正确,因为Item中的数据是按照字典来输出的,因为字典是随机的无序的,所以也导致输出的excle表格中的数据也是无序的。以下配置将解决上面的问题,然后按照你想要的顺序输出数据1.在spiders的目录下新建一个类itemcsvexporter(目录一定要在spiders下),代码如下:from scrapy.conf import settings from scrapy.contrib.exporter import CsvItemExporter class itemcsvexporter(CsvItemExporter): def __init__(self, *args, **kwargs): delimiter = settings.get('CSV_DELIMITER', ',') kwargs['delimiter'] = delimiter fields_to_export = settings.get('FIELDS_TO_EXPORT', []) if fields_to_export : kwargs['fields_to_export'] = fields_to_export super(itemcsvexport
2.在settings.py中新增如下代码,用来指定Item中Feild的顺序,也就是你想要数据输出顺序FEED_EXPORTERS = { 'csv': 'ljnew.spiders.itemcsvexporter.itemcsvexporter', } #这里假设你的project名字为ljnew FIELDS_TO_EXPORT = [ 'productname', 'productprice', 'prime', 'fee', 'discount', 'overseapurchas', 'productsize', 'productcolor', 'producturl', ]
3.目录截图如下
Scrapy输出CSV指定顺序的列表
最新推荐文章于 2021-11-03 22:18:29 发布