Python 零碎更改项目订单
我正在抓取一些数据并将其导出到json文件,但我似乎无法设置项目的顺序。在阅读了一些文章之后,我发现scrapy条目是python dict的包装,并且将以不可预测的顺序返回条目字段 我尝试补充:Python 零碎更改项目订单,python,python-2.7,scrapy,scrapy-spider,Python,Python 2.7,Scrapy,Scrapy Spider,我正在抓取一些数据并将其导出到json文件,但我似乎无法设置项目的顺序。在阅读了一些文章之后,我发现scrapy条目是python dict的包装,并且将以不可预测的顺序返回条目字段 我尝试补充: def keys(self): return ['item1', 'item2', 'item3'] 现在,输出仅包含这3个项目,但顺序仍然不可预测。是否可以设置这些项目的顺序?在JSON中,对象定义如下: An object is an unordered set of name/
def keys(self):
return ['item1', 'item2', 'item3']
现在,输出仅包含这3个项目,但顺序仍然不可预测。是否可以设置这些项目的顺序?在JSON中,对象定义如下:
An object is an unordered set of name/value pairs.
看
大多数JSON实现都不努力保持对象名称/值对的顺序,因为它(根据定义)并不重要
因此,最后我切换了数据格式。在JSON中,对象定义如下:
An object is an unordered set of name/value pairs.
看
大多数JSON实现都不努力保持对象名称/值对的顺序,因为它(根据定义)并不重要
因此,最后我切换了数据格式。您可以尝试生成/返回
collections.orderedict
实例。Scrapy应该把它们理解为物品。我不确定JSON导出是否会尊重关键顺序,但您可以尝试(并在这里为我们其他人报告)它似乎不是这样,JSON仍然会更改项目的顺序。您可以尝试生成/返回collections.OrderedDict
实例。Scrapy应该把它们理解为物品。我不确定JSON导出是否会尊重关键顺序,但您可以尝试(并在这里为我们其他人报告)它似乎不是这样,JSON仍然会更改项目的顺序。