簡體   English   中英

使用 python 將數據幀轉換為 JSON/字典

[英]Convert Data Frame to JSON/Dictionary with python

我試圖讓一段代碼在我添加 mroe 之前工作(數據庫上傳等)。 它目前所做的是以 Pandas DataFrame 的形式獲取信息,我需要以 JSON 格式將其上傳到數據庫中。

這是我所擁有的:

import json
from yahooquery import Ticker

ticker_collection = ['AAPL', 'TSLA', 'NIO']

for ticker in ticker_collection:
  ticker = Ticker(ticker)
  stock_history = ticker.history(period='ytd', interval='1d')
  
  print("\n" * 5)
  print(stock_history)

這導致以下 output:

                          low     volume        open        high       close    adjclose  dividends
symbol date
AAPL   2021-01-04  126.760002  143301900  133.520004  133.610001  129.410004  129.216919      0.000
       2021-01-05  128.429993   97664900  128.889999  131.740005  131.009995  130.814514      0.000
       2021-01-06  126.379997  155088000  127.720001  131.050003  126.599998  126.411102      0.000
       2021-01-07  127.860001  109578200  128.360001  131.630005  130.919998  130.724655      0.000
       2021-01-08  130.229996  105158200  132.429993  132.630005  132.050003  131.852966      0.000
       2021-01-11  128.500000  100620900  129.190002  130.169998  128.979996  128.787552      0.000
       2021-01-12  126.860001   91951100  128.500000  129.690002  128.800003  128.607819      0.000
       2021-01-13  128.490005   88636800  128.759995  131.449997  130.889999  130.694702      0.000
       2021-01-14  128.759995   90221800  130.800003  131.000000  128.910004  128.717667      0.000
       2021-01-15  127.000000  111598500  128.779999  130.220001  127.139999  126.950294      0.000
       2021-01-19  126.940002   90757300  127.779999  128.710007  127.830002  127.639267      0.000
       2021-01-20  128.550003  104319500  128.660004  132.490005  132.029999  131.832993      0.000
       2021-01-21  133.589996  120529500  133.800003  139.669998  136.869995  136.665771      0.000
       2021-01-22  135.020004  114459400  136.279999  139.850006  139.070007  138.862503      0.000
       2021-01-25  136.539993  157611700  143.070007  145.089996  142.919998  142.706757      0.000
       2021-01-26  141.369995   98390600  143.600006  144.300003  143.160004  142.946396      0.000
       2021-01-27  140.410004  140843800  143.429993  144.300003  142.059998  141.848038      0.000
       2021-01-28  136.699997  142621100  139.520004  141.990005  137.089996  136.885452      0.000
       2021-01-29  130.210007  177180600  135.830002  136.740005  131.960007  131.763107      0.000
       2021-02-01  130.929993  106239800  133.750000  135.380005  134.139999  133.939850      0.000
       2021-02-02  134.610001   83305400  135.729996  136.309998  134.990005  134.788589      0.000
       2021-02-03  133.610001   89880900  135.759995  135.770004  133.940002  133.740158      0.000
       2021-02-04  134.589996   84183100  136.300003  137.399994  137.389999  137.184998      0.000
       2021-02-05  135.860001   75524000  137.350006  137.419998  136.759995  136.759995      0.205
       2021-02-08  134.919998   71297200  136.029999  136.960007  136.910004  136.910004      0.000
       2021-02-09  135.850006   76774200  136.619995  137.880005  136.009995  136.009995      0.000
       2021-02-10  134.399994   73046600  136.479996  136.990005  135.389999  135.389999      0.000
       2021-02-11  133.770004   64154400  135.899994  136.389999  135.130005  135.130005      0.000
       2021-02-12  133.690002   60029300  134.350006  135.529999  135.369995  135.369995      0.000
       2021-02-16  132.789993   80206200  135.490005  136.009995  133.190002  133.190002      0.000
       2021-02-17  129.470001   95934652  131.250000  132.220001  130.839996  130.839996      0.000






                          low        open        high       close    volume    adjclose
symbol date
TSLA   2021-01-04  717.190002  719.460022  744.489990  729.770020  48638200  729.770020
       2021-01-05  719.200012  723.659973  740.840027  735.109985  32245200  735.109985
       2021-01-06  749.099976  758.489990  774.000000  755.979980  44700000  755.979980
       2021-01-07  775.200012  777.630005  816.989990  816.039978  51498900  816.039978
       2021-01-08  838.390015  856.000000  884.489990  880.020020  75055500  880.020020
       2021-01-11  803.619995  849.400024  854.429993  811.190002  59554100  811.190002
       2021-01-12  827.340027  831.000000  868.000000  849.440002  46270700  849.440002
       2021-01-13  832.000000  852.760010  860.469971  854.409973  33312500  854.409973
       2021-01-14  838.750000  843.390015  863.000000  845.000000  31266300  845.000000
       2021-01-15  819.099976  852.000000  859.900024  826.159973  38777600  826.159973
       2021-01-19  833.000000  837.799988  850.000000  844.549988  25367000  844.549988
       2021-01-20  837.280029  858.739990  859.500000  850.450012  25665900  850.450012
       2021-01-21  841.419983  855.000000  855.719971  844.989990  20598100  844.989990
       2021-01-22  828.619995  834.309998  848.000000  846.640015  20066500  846.640015
       2021-01-25  838.820007  855.000000  900.400024  880.799988  41173400  880.799988
       2021-01-26  871.599976  891.380005  895.900024  883.090027  23131600  883.090027
       2021-01-27  858.659973  870.349976  891.500000  864.159973  27334000  864.159973
       2021-01-28  801.000000  820.000000  848.000000  835.429993  26378000  835.429993
       2021-01-29  780.099976  830.000000  842.409973  793.530029  34990800  793.530029
       2021-02-01  795.559998  814.289978  842.000000  839.809998  25391400  839.809998
       2021-02-02  842.200012  844.679993  880.500000  872.789978  24346200  872.789978
       2021-02-03  853.059998  877.020020  878.080017  854.690002  18343500  854.690002
       2021-02-04  833.419983  855.000000  856.500000  849.989990  15812700  849.989990
       2021-02-05  838.969971  845.000000  864.770020  852.229980  18524800  852.229980
       2021-02-08  854.750000  869.669983  877.770020  863.419983  20161700  863.419983
       2021-02-09  841.750000  855.119995  859.799988  849.460022  15157700  849.460022
       2021-02-10  800.020020  843.640015  844.820007  804.820007  36216100  804.820007
       2021-02-11  801.729980  812.440002  829.880005  811.659973  21580700  811.659973
       2021-02-12  785.330017  801.260010  817.330017  816.119995  23701700  816.119995
       2021-02-16  792.440002  818.000000  821.000000  796.219971  19686700  796.219971
       2021-02-17  762.010010  779.090027  799.840027  798.150024  25633055  798.150024






                        open       high      close        low     volume   adjclose
symbol date
NIO    2021-01-04  51.200001  54.450001  53.490002  50.669998  213109700  53.490002
       2021-01-05  51.970001  53.750000  53.200001  50.400002  147474800  53.200001
       2021-01-06  54.020000  55.279999  50.500000  49.080002  176397700  50.500000
       2021-01-07  53.049999  54.610001  54.279999  52.349998  119429200  54.279999
       2021-01-08  57.759998  59.310001  58.919998  55.880001  218512800  58.919998
       2021-01-11  64.949997  66.989998  62.700001  62.189999  279770300  62.700001
       2021-01-12  61.419998  64.129997  62.040001  60.419998  184854200  62.040001
       2021-01-13  62.939999  64.410004  62.150002  61.410000  116059200  62.150002
       2021-01-14  62.630001  63.230000  60.869999  60.040001   99338400  60.869999
       2021-01-15  59.840000  60.220001  56.270000  55.669998  132247900  56.270000
       2021-01-19  58.209999  59.009998  58.439999  56.410000   99561100  58.439999
       2021-01-20  59.849998  60.090000  57.709999  56.189999   94983600  57.709999
       2021-01-21  57.020000  58.580002  58.340000  55.880001   73119500  58.340000
       2021-01-22  58.950001  62.169998  61.950001  58.320000  133918100  61.950001
       2021-01-25  64.050003  64.519997  59.990002  58.349998  111986400  59.990002
       2021-01-26  60.040001  60.669998  60.310001  58.639999   70393300  60.310001
       2021-01-27  57.950001  59.790001  57.150002  56.599998   73078300  57.150002
       2021-01-28  56.759998  59.459999  58.369999  55.150002   73955100  58.369999
       2021-01-29  59.029999  60.709999  57.000000  56.439999   78678200  57.000000
       2021-02-01  59.070000  59.119999  56.990002  54.369999   79878700  56.990002
       2021-02-02  57.060001  57.540001  55.770000  54.509998   66234100  55.770000
       2021-02-03  55.959999  58.720001  57.980000  54.840000   80122300  57.980000
       2021-02-04  58.790001  59.200001  57.599998  57.110001   48667900  57.599998
       2021-02-05  57.740002  57.980000  56.669998  56.009998   42892500  56.669998
       2021-02-08  57.080002  59.520000  59.070000  56.180000   64030100  59.070000
       2021-02-09  58.950001  63.099998  62.840000  58.240002   97246500  62.840000
       2021-02-10  62.549999  64.599998  61.259998  60.330002   90366700  61.259998
       2021-02-11  61.689999  63.060001  60.270000  59.810001   55615500  60.270000
       2021-02-12  60.259998  61.049999  59.849998  59.099998   39973800  59.849998
       2021-02-16  60.400002  62.139999  59.230000  58.650002   54914800  59.230000
       2021-02-17  57.919998  58.029999  57.320000  55.900002   62662494  57.320000

從這里我想創建一個字典,並從該字典創建一個 JSON blob。 字典大致應如下所示:

{
    "APPL": {
        "2021-01-04": {
            "open" : "133.520004",
            "adjclose" : "133.520004",
            "low" : "133.520004",
            "high" : "133.520004"
        },
        "2021-01-05": {
            "open" : "133.520004",
            "adjclose" : "133.520004",
            "low" : "133.520004",
            "high" : "133.520004"
        }
    }
}

正如你所看到的,我也想忽略一些數據,只選擇我想要的。

我已經嘗試了一些事情,我得到的最接近的是添加該行:

json_list = json.loads(json.dumps(list(stock_history.T.to_dict().values())))

但是,這會導致以下 output:

[{'low': 126.76000213623047, 'open': 133.52000427246094, 'high': 133.61000061035156, 'close': 129.41000366210938, 'volume': 143301900.0, 'adjclose': 129.2169189453125, 'dividends': 0.0}, {'low': 128.42999267578125, 'open': 128.88999938964844, 'high': 131.74000549316406, 'close': 131.00999450683594, 'volume': 97664900.0, 'adjclose': 130.81451416015625, 'dividends': 0.0}, {'low': 126.37999725341797, 'open': 127.72000122070312, 'high': 131.0500030517578, 'close': 126.5999984741211, 'volume': 155088000.0, 'adjclose': 126.41110229492188, 'dividends': 0.0}, {'low': 127.86000061035156, 'open': 128.36000061035156, 'high': 131.6300048828125, 'close': 130.9199981689453, 'volume': 109578200.0, 'adjclose': 130.7246551513672, 'dividends': 0.0}, {'low': 130.22999572753906, 'open': 132.42999267578125, 'high': 132.6300048828125, 'close': 132.0500030517578, 'volume': 105158200.0, 'adjclose': 131.85296630859375, 'dividends': 0.0}, {'low': 128.5, 'open': 129.19000244140625, 'high': 130.1699981689453, 'close': 128.97999572753906, 'volume': 100620900.0, 'adjclose': 128.7875518798828, 'dividends': 0.0}, {'low': 126.86000061035156, 'open': 128.5, 'high': 129.69000244140625, 'close': 128.8000030517578, 'volume': 91951100.0, 'adjclose': 128.60781860351562, 'dividends': 0.0}, {'low': 128.49000549316406, 'open': 128.75999450683594, 'high': 131.4499969482422, 'close': 130.88999938964844, 'volume': 88636800.0, 'adjclose': 130.6947021484375, 'dividends': 0.0}, {'low': 128.75999450683594, 'open': 130.8000030517578, 'high': 131.0, 'close': 128.91000366210938, 'volume': 90221800.0, 'adjclose': 128.71766662597656, 'dividends': 0.0}, {'low': 127.0, 'open': 128.77999877929688, 'high': 130.22000122070312, 'close': 127.13999938964844, 'volume': 111598500.0, 'adjclose': 126.9502944946289, 'dividends': 0.0}, {'low': 126.94000244140625, 'open': 127.77999877929688, 'high': 128.7100067138672, 'close': 127.83000183105469, 'volume': 90757300.0, 'adjclose': 127.63926696777344, 'dividends': 0.0}, {'low': 128.5500030517578, 'open': 128.66000366210938, 'high': 132.49000549316406, 'close': 132.02999877929688, 'volume': 104319500.0, 'adjclose': 131.83299255371094, 'dividends': 0.0}, {'low': 133.58999633789062, 'open': 133.8000030517578, 'high': 139.6699981689453, 'close': 136.8699951171875, 'volume': 120529500.0, 'adjclose': 136.665771484375, 'dividends': 0.0}, {'low': 135.02000427246094, 'open': 136.27999877929688, 'high': 139.85000610351562, 'close': 139.07000732421875, 'volume': 114459400.0, 'adjclose': 138.8625030517578, 'dividends': 0.0}, {'low': 136.5399932861328, 'open': 143.07000732421875, 'high': 145.08999633789062, 'close': 142.9199981689453, 'volume': 157611700.0, 'adjclose': 142.70675659179688, 'dividends': 0.0}, {'low': 141.3699951171875, 'open': 143.60000610351562, 'high': 144.3000030517578, 'close': 143.16000366210938, 'volume': 98390600.0, 'adjclose': 142.94639587402344, 'dividends': 0.0}, {'low': 140.41000366210938, 'open': 143.42999267578125, 'high': 144.3000030517578, 'close': 142.05999755859375, 'volume': 140843800.0, 'adjclose': 141.84803771972656, 'dividends': 0.0}, {'low': 136.6999969482422, 'open': 139.52000427246094, 'high': 141.99000549316406, 'close': 137.08999633789062, 'volume': 142621100.0, 'adjclose': 136.8854522705078, 'dividends': 0.0}, {'low': 130.2100067138672, 'open': 135.8300018310547, 'high': 136.74000549316406, 'close': 131.9600067138672, 'volume': 177180600.0, 'adjclose': 131.7631072998047, 'dividends': 0.0}, {'low': 130.92999267578125, 'open': 133.75, 'high': 135.3800048828125, 'close': 134.13999938964844, 'volume': 106239800.0, 'adjclose': 133.93984985351562, 'dividends': 0.0}, {'low': 134.61000061035156, 'open': 135.72999572753906, 'high': 136.30999755859375, 'close': 134.99000549316406, 'volume': 83305400.0, 'adjclose': 134.78858947753906, 'dividends': 0.0}, {'low': 133.61000061035156, 'open': 135.75999450683594, 'high': 135.77000427246094, 'close': 133.94000244140625, 'volume': 89880900.0, 'adjclose': 133.7401580810547, 'dividends': 0.0}, {'low': 134.58999633789062, 'open': 136.3000030517578, 'high': 137.39999389648438, 'close': 137.38999938964844, 'volume': 84183100.0, 'adjclose': 137.18499755859375, 'dividends': 0.0}, {'low': 135.86000061035156, 'open': 137.35000610351562, 'high': 137.4199981689453, 'close': 136.75999450683594, 'volume': 75524000.0, 'adjclose': 136.75999450683594, 'dividends': 0.205}, {'low': 134.9199981689453, 'open': 136.02999877929688, 'high': 136.9600067138672, 'close': 136.91000366210938, 'volume': 71297200.0, 'adjclose': 136.91000366210938, 'dividends': 0.0}, 
{'low': 135.85000610351562, 'open': 136.6199951171875, 'high': 137.8800048828125, 'close': 136.00999450683594, 'volume': 76774200.0, 'adjclose': 136.00999450683594, 'dividends': 0.0}, {'low': 134.39999389648438, 'open': 136.47999572753906, 'high': 136.99000549316406, 'close': 135.38999938964844, 'volume': 73046600.0, 'adjclose': 135.38999938964844, 
'dividends': 0.0}, {'low': 133.77000427246094, 'open': 135.89999389648438, 'high': 136.38999938964844, 'close': 135.1300048828125, 'volume': 64154400.0, 'adjclose': 135.1300048828125, 'dividends': 0.0}, {'low': 133.69000244140625, 'open': 134.35000610351562, 'high': 135.52999877929688, 'close': 135.3699951171875, 'volume': 60029300.0, 'adjclose': 135.3699951171875, 'dividends': 0.0}, {'low': 132.7899932861328, 'open': 135.49000549316406, 'high': 136.00999450683594, 'close': 133.19000244140625, 'volume': 80206200.0, 'adjclose': 133.19000244140625, 'dividends': 0.0}, {'low': 129.47000122070312, 'open': 131.25, 'high': 132.22000122070312, 'close': 130.83999633789062, 'volume': 95934652.0, 'adjclose': 130.83999633789062, 'dividends': 0.0}]






[{'open': 719.4600219726562, 'volume': 48638200.0, 'high': 744.489990234375, 'close': 729.77001953125, 'low': 717.1900024414062, 'adjclose': 729.77001953125}, {'open': 723.6599731445312, 'volume': 32245200.0, 'high': 740.8400268554688, 'close': 735.1099853515625, 'low': 719.2000122070312, 'adjclose': 735.1099853515625}, {'open': 758.489990234375, 'volume': 44700000.0, 'high': 774.0, 'close': 755.97998046875, 'low': 749.0999755859375, 'adjclose': 755.97998046875}, {'open': 777.6300048828125, 'volume': 51498900.0, 'high': 816.989990234375, 'close': 816.0399780273438, 'low': 775.2000122070312, 'adjclose': 816.0399780273438}, {'open': 856.0, 'volume': 75055500.0, 'high': 884.489990234375, 'close': 880.02001953125, 'low': 838.3900146484375, 'adjclose': 880.02001953125}, {'open': 849.4000244140625, 'volume': 59554100.0, 'high': 854.4299926757812, 'close': 811.1900024414062, 'low': 803.6199951171875, 'adjclose': 811.1900024414062}, {'open': 831.0, 'volume': 46270700.0, 'high': 868.0, 'close': 849.4400024414062, 'low': 827.3400268554688, 'adjclose': 849.4400024414062}, {'open': 852.760009765625, 'volume': 33312500.0, 'high': 860.469970703125, 'close': 854.4099731445312, 'low': 832.0, 'adjclose': 854.4099731445312}, {'open': 843.3900146484375, 'volume': 31266300.0, 'high': 863.0, 'close': 845.0, 'low': 838.75, 'adjclose': 845.0}, {'open': 852.0, 'volume': 38777600.0, 'high': 859.9000244140625, 'close': 826.1599731445312, 'low': 819.0999755859375, 'adjclose': 826.1599731445312}, {'open': 837.7999877929688, 'volume': 25367000.0, 'high': 850.0, 'close': 844.5499877929688, 'low': 833.0, 'adjclose': 844.5499877929688}, {'open': 858.739990234375, 'volume': 25665900.0, 'high': 859.5, 'close': 850.4500122070312, 'low': 837.280029296875, 'adjclose': 850.4500122070312}, {'open': 855.0, 'volume': 20598100.0, 'high': 855.719970703125, 'close': 844.989990234375, 'low': 841.4199829101562, 'adjclose': 844.989990234375}, {'open': 834.3099975585938, 'volume': 20066500.0, 'high': 848.0, 'close': 846.6400146484375, 'low': 828.6199951171875, 'adjclose': 846.6400146484375}, {'open': 855.0, 'volume': 41173400.0, 'high': 900.4000244140625, 'close': 880.7999877929688, 'low': 838.8200073242188, 'adjclose': 880.7999877929688}, {'open': 891.3800048828125, 'volume': 23131600.0, 'high': 895.9000244140625, 'close': 883.0900268554688, 'low': 871.5999755859375, 'adjclose': 883.0900268554688}, {'open': 870.3499755859375, 'volume': 27334000.0, 'high': 891.5, 'close': 864.1599731445312, 'low': 858.6599731445312, 'adjclose': 864.1599731445312}, {'open': 820.0, 'volume': 26378000.0, 'high': 848.0, 'close': 835.4299926757812, 'low': 801.0, 'adjclose': 835.4299926757812}, {'open': 830.0, 'volume': 34990800.0, 'high': 842.4099731445312, 'close': 793.530029296875, 'low': 780.0999755859375, 'adjclose': 793.530029296875}, {'open': 814.2899780273438, 'volume': 25391400.0, 'high': 842.0, 'close': 839.8099975585938, 'low': 795.5599975585938, 'adjclose': 839.8099975585938}, {'open': 844.6799926757812, 'volume': 24346200.0, 'high': 880.5, 'close': 872.7899780273438, 'low': 842.2000122070312, 'adjclose': 872.7899780273438}, {'open': 877.02001953125, 'volume': 18343500.0, 'high': 878.0800170898438, 'close': 854.6900024414062, 'low': 853.0599975585938, 'adjclose': 854.6900024414062}, {'open': 855.0, 'volume': 15812700.0, 'high': 856.5, 'close': 849.989990234375, 'low': 833.4199829101562, 'adjclose': 849.989990234375}, {'open': 845.0, 'volume': 18524800.0, 'high': 864.77001953125, 'close': 852.22998046875, 'low': 838.969970703125, 'adjclose': 852.22998046875}, {'open': 869.6699829101562, 'volume': 20161700.0, 'high': 877.77001953125, 'close': 863.4199829101562, 'low': 854.75, 'adjclose': 863.4199829101562}, {'open': 855.1199951171875, 'volume': 15157700.0, 'high': 859.7999877929688, 'close': 849.4600219726562, 'low': 841.75, 'adjclose': 849.4600219726562}, {'open': 843.6400146484375, 'volume': 36216100.0, 'high': 844.8200073242188, 'close': 804.8200073242188, 'low': 800.02001953125, 'adjclose': 804.8200073242188}, {'open': 812.4400024414062, 'volume': 21580700.0, 'high': 829.8800048828125, 'close': 811.6599731445312, 'low': 801.72998046875, 'adjclose': 811.6599731445312}, {'open': 801.260009765625, 'volume': 23701700.0, 'high': 817.3300170898438, 'close': 816.1199951171875, 'low': 785.3300170898438, 'adjclose': 816.1199951171875}, {'open': 818.0, 'volume': 19686700.0, 'high': 821.0, 'close': 796.219970703125, 'low': 792.4400024414062, 'adjclose': 796.219970703125}, {'open': 779.0900268554688, 'volume': 25633055.0, 'high': 799.8400268554688, 'close': 798.1500244140625, 'low': 762.010009765625, 'adjclose': 798.1500244140625}]






[{'open': 51.20000076293945, 'high': 54.45000076293945, 'close': 53.4900016784668, 'low': 50.66999816894531, 'volume': 213109700.0, 'adjclose': 53.4900016784668}, {'open': 51.970001220703125, 'high': 53.75, 'close': 53.20000076293945, 'low': 50.400001525878906, 'volume': 147474800.0, 'adjclose': 53.20000076293945}, {'open': 54.02000045776367, 'high': 55.279998779296875, 'close': 50.5, 'low': 49.08000183105469, 'volume': 176397700.0, 'adjclose': 50.5}, {'open': 53.04999923706055, 'high': 54.61000061035156, 'close': 54.279998779296875, 'low': 52.349998474121094, 'volume': 119429200.0, 'adjclose': 54.279998779296875}, {'open': 57.7599983215332, 'high': 59.310001373291016, 'close': 58.91999816894531, 'low': 55.880001068115234, 'volume': 218512800.0, 'adjclose': 58.91999816894531}, {'open': 64.94999694824219, 'high': 66.98999786376953, 'close': 62.70000076293945, 'low': 62.189998626708984, 'volume': 279770300.0, 'adjclose': 62.70000076293945}, {'open': 61.41999816894531, 'high': 64.12999725341797, 'close': 62.040000915527344, 'low': 60.41999816894531, 'volume': 184854200.0, 'adjclose': 62.040000915527344}, {'open': 62.939998626708984, 'high': 64.41000366210938, 'close': 62.150001525878906, 'low': 61.40999984741211, 'volume': 116059200.0, 'adjclose': 62.150001525878906}, {'open': 62.630001068115234, 'high': 63.22999954223633, 'close': 60.869998931884766, 'low': 60.040000915527344, 'volume': 99338400.0, 'adjclose': 60.869998931884766}, {'open': 59.84000015258789, 'high': 60.220001220703125, 'close': 56.27000045776367, 'low': 55.66999816894531, 'volume': 132247900.0, 'adjclose': 56.27000045776367}, {'open': 58.209999084472656, 'high': 59.0099983215332, 'close': 58.439998626708984, 'low': 56.40999984741211, 'volume': 99561100.0, 'adjclose': 58.439998626708984}, {'open': 59.849998474121094, 'high': 60.09000015258789, 'close': 57.709999084472656, 'low': 56.189998626708984, 'volume': 94983600.0, 'adjclose': 57.709999084472656}, {'open': 57.02000045776367, 'high': 58.58000183105469, 'close': 58.34000015258789, 'low': 55.880001068115234, 'volume': 73119500.0, 'adjclose': 58.34000015258789}, {'open': 58.95000076293945, 'high': 62.16999816894531, 'close': 61.95000076293945, 'low': 58.31999969482422, 'volume': 133918100.0, 'adjclose': 61.95000076293945}, {'open': 64.05000305175781, 'high': 64.5199966430664, 'close': 59.9900016784668, 'low': 58.349998474121094, 'volume': 111986400.0, 'adjclose': 59.9900016784668}, {'open': 60.040000915527344, 'high': 60.66999816894531, 'close': 60.310001373291016, 'low': 58.63999938964844, 'volume': 70393300.0, 'adjclose': 60.310001373291016}, {'open': 57.95000076293945, 'high': 59.790000915527344, 'close': 57.150001525878906, 'low': 56.599998474121094, 'volume': 73078300.0, 'adjclose': 57.150001525878906}, {'open': 56.7599983215332, 'high': 
59.459999084472656, 'close': 58.369998931884766, 'low': 55.150001525878906, 'volume': 73955100.0, 'adjclose': 58.369998931884766}, {'open': 59.029998779296875, 'high': 60.709999084472656, 'close': 57.0, 'low': 56.439998626708984, 'volume': 78678200.0, 'adjclose': 57.0}, {'open': 59.06999969482422, 'high': 59.119998931884766, 'close': 56.9900016784668, 'low': 54.369998931884766, 'volume': 79878700.0, 'adjclose': 56.9900016784668}, {'open': 57.060001373291016, 'high': 57.540000915527344, 'close': 55.77000045776367, 'low': 54.5099983215332, 'volume': 66234100.0, 'adjclose': 55.77000045776367}, {'open': 55.959999084472656, 'high': 58.720001220703125, 'close': 57.97999954223633, 'low': 54.84000015258789, 'volume': 80122300.0, 'adjclose': 57.97999954223633}, {'open': 58.790000915527344, 'high': 59.20000076293945, 'close': 57.599998474121094, 'low': 57.11000061035156, 'volume': 48667900.0, 'adjclose': 57.599998474121094}, {'open': 57.7400016784668, 'high': 57.97999954223633, 'close': 56.66999816894531, 'low': 56.0099983215332, 'volume': 42892500.0, 'adjclose': 56.66999816894531}, {'open': 57.08000183105469, 'high': 59.52000045776367, 'close': 59.06999969482422, 'low': 56.18000030517578, 'volume': 64030100.0, 'adjclose': 59.06999969482422}, {'open': 58.95000076293945, 'high': 63.099998474121094, 'close': 62.84000015258789, 'low': 58.2400016784668, 'volume': 97246500.0, 'adjclose': 62.84000015258789}, {'open': 62.54999923706055, 'high': 64.5999984741211, 'close': 61.2599983215332, 'low': 60.33000183105469, 'volume': 90366700.0, 'adjclose': 61.2599983215332}, {'open': 61.689998626708984, 'high': 63.060001373291016, 'close': 60.27000045776367, 'low': 59.810001373291016, 'volume': 55615500.0, 'adjclose': 60.27000045776367}, {'open': 60.2599983215332, 'high': 61.04999923706055, 'close': 59.849998474121094, 'low': 59.099998474121094, 'volume': 39973800.0, 'adjclose': 59.849998474121094}, {'open': 60.400001525878906, 'high': 62.13999938964844, 'close': 59.22999954223633, 'low': 58.650001525878906, 'volume': 54914800.0, 'adjclose': 59.22999954223633}, {'open': 57.91999816894531, 'high': 58.029998779296875, 'close': 57.31999969482422, 'low': 55.900001525878906, 'volume': 62662494.0, 'adjclose': 57.31999969482422}]

任何方向或建議將不勝感激。

您得到的數據結構是 MultiIndex DataFrame,您可以像這樣迭代它(感謝這個討論):

for idx, df_select in stock_history.groupby(level=[0, 1]):
  print(idx[0])
  print(idx[1])
  print(df_select['open'][0])

可以看到, idx[0]是符號, idx[1]是日期, df_select是帶有實際內容的 DataFrame。

因此,您可以像這樣創建一個嵌套字典和一個 JSON object(僅顯示highlow以保持示例可讀性):

dict = { idx[0] : [{ str(idx[1]) : { 'high' : df_select['high'][0], 'low' : df_select['low'][0] } } for idx, df_select in stock_history.groupby(level=[0, 1])]}
print(json.dumps(dict, indent=4))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM