Nó trông như thế này có thể là một phương pháp thay thế hữu ích cho to_json, cho thời điểm này, một trong những cách giải quyết là để đọc nó trở lại vào python và munge: s
In [11]: s = f['Adj Close'].to_json(date_format='iso',orient='split')
In [12]: d = json.loads(s) # import json
In [13]: [{"index": date, "value": val} for date, val in zip(d['index'], d['data'])]
Out[13]:
[{'index': u'2013-01-02T00:00:00.000Z', 'value': 535.58},
{'index': u'2013-01-03T00:00:00.000Z', 'value': 528.82},
{'index': u'2013-01-04T00:00:00.000Z', 'value': 514.09},
{'index': u'2013-01-07T00:00:00.000Z', 'value': 511.06},
{'index': u'2013-01-08T00:00:00.000Z', 'value': 512.44},
{'index': u'2013-01-09T00:00:00.000Z', 'value': 504.43},
{'index': u'2013-01-10T00:00:00.000Z', 'value': 510.68},
{'index': u'2013-01-11T00:00:00.000Z', 'value': 507.55},
{'index': u'2013-01-14T00:00:00.000Z', 'value': 489.45},
{'index': u'2013-01-15T00:00:00.000Z', 'value': 474.01},
{'index': u'2013-01-16T00:00:00.000Z', 'value': 493.69},
{'index': u'2013-01-17T00:00:00.000Z', 'value': 490.36},
{'index': u'2013-01-18T00:00:00.000Z', 'value': 487.75},
{'index': u'2013-01-22T00:00:00.000Z', 'value': 492.4},
{'index': u'2013-01-23T00:00:00.000Z', 'value': 501.41},
{'index': u'2013-01-24T00:00:00.000Z', 'value': 439.46},
{'index': u'2013-01-25T00:00:00.000Z', 'value': 429.1}]
In [14]: json.dumps([{"index": date, "value": val} for date, val in zip(d['index'], d['data'])])
Out[14]: '[{"index": "2013-01-02T00:00:00.000Z", "value": 535.58}, {"index": "2013-01-03T00:00:00.000Z", "value": 528.82}, {"index": "2013-01-04T00:00:00.000Z", "value": 514.09}, {"index": "2013-01-07T00:00:00.000Z", "value": 511.06}, {"index": "2013-01-08T00:00:00.000Z", "value": 512.44}, {"index": "2013-01-09T00:00:00.000Z", "value": 504.43}, {"index": "2013-01-10T00:00:00.000Z", "value": 510.68}, {"index": "2013-01-11T00:00:00.000Z", "value": 507.55}, {"index": "2013-01-14T00:00:00.000Z", "value": 489.45}, {"index": "2013-01-15T00:00:00.000Z", "value": 474.01}, {"index": "2013-01-16T00:00:00.000Z", "value": 493.69}, {"index": "2013-01-17T00:00:00.000Z", "value": 490.36}, {"index": "2013-01-18T00:00:00.000Z", "value": 487.75}, {"index": "2013-01-22T00:00:00.000Z", "value": 492.4}, {"index": "2013-01-23T00:00:00.000Z", "value": 501.41}, {"index": "2013-01-24T00:00:00.000Z", "value": 439.46}, {"index": "2013-01-25T00:00:00.000Z", "value": 429.1}]'
Rõ ràng đây đánh bại mục đích của một to_json hiệu quả chức năng, nhưng tôi nghĩ rằng nó có giá trị thêm này như a feature request - I nghĩ rằng đây là một định dạng khá chuẩn, chúng tôi chỉ bỏ qua nó.
bỏ phiếu +1 cho "khá chuẩn", tôi đã viết mã tương tự cho các nhu cầu của riêng mình cách đây không lâu. – alko
Cảm ơn rất nhiều Andy. Tôi gặp phải điều này khi tôi đang làm việc trên đồ thị D3Js. Hiện tại, tôi đã sử dụng định hướng "tách" và gửi nó tới giao diện người dùng, nơi thực thi zip (underscore.js). Tuy nhiên, nó không phải là thanh lịch trong đó, cách duy nhất tôi có thể giải quyết các thuộc tính là theo chỉ mục. Để có được giá trị, tôi cần phải nói d [1] thay vì d.value. Tôi sẽ gửi yêu cầu cho nó. – zsljulius