2016-07-22 163 views
1

我颳了一些數據,並將其導出到JSON文件,但我似乎無法設置項目的順序。做一些閱讀,我發現後scrapy項目是蟒蛇字典的包裝,並將在不可預測的順序返回的項目領域。Scrapy更改項目訂單

我已經嘗試添加:

def keys(self): 
    return ['item1', 'item2', 'item3'] 

現在輸出僅由這3個項目,但該命令仍然不可預知的是有反正我可以設置這些項目的順序?

+1

你可以試試收益/返回'collections.OrderedDict'實例。 Scrapy應該將它們理解爲項目。我不知道,JSON出口會尊重鍵順序,但你可以嘗試(和報告這裏我們其餘的人) –

+0

它似乎並不喜歡它,JSON仍然改變項目的順序。 – user1443063

回答

0

在JSON,一個對象被這樣定義:

An object is an unordered set of name/value pairs. 

參見http://json.org

大部分JSON的實現作出任何努力保護對象的名稱/值對的順序,因爲它是(顧名思義)不顯著。

所以最終我交換的數據格式。