【问题标题】:Dataframe overwrite first result数据框覆盖第一个结果
【发布时间】:2022-12-09 03:41:12
【问题描述】:

我想创建一个从 json 导入的数据框,稍后我会将其传输到 Excel。问题是 (df1) 在第一个结果上写入新结果(所以基本上所有结果最后都被删除,除了最后一个)。我怎样才能修复它以获取所有数据?

import json
import requests
import pandas as pd

r = requests.get('https://api.gateio.la/api2/1/feelist')
lista = (r.json())
for key, ad in lista.items():
    sy  = ad['symbol']
    no  = ad['no']

    df0 = [[sy]]
    df1 = pd.DataFrame((df0), index=[no])

print(df1)

我的结果:

1981 可持续森林管理

决定:

1 GT 2元人民币 3 美元 ... 1981 可持续森林管理

【问题讨论】:

    标签: json pandas dataframe


    【解决方案1】:

    您正在重写 df1 每次 for 循环迭代。相反,尝试利用 pd.DataFrame 构造函数:

    import json
    import requests
    import pandas as pd
    
    data = requests.get("https://api.gateio.la/api2/1/feelist").json()
    
    
    df = pd.DataFrame(
        [(ad["symbol"], ad["no"]) for _, ad in data.items()],
        columns=["Col1", "Col2"],
    )
    print(df)
    

    印刷:

                Col1  Col2
    0             GT     1
    1           CNYX     2
    2           USDT     3
    3       USDT_ETH     4
    
    ...
    
    1977         BTL  1978
    1978    LIQUIDUS  1979
    1979       DEHUB  1980
    1980         SFM  1981
    

    【讨论】:

      猜你喜欢
      • 2020-09-13
      • 2019-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-14
      • 2021-01-23
      相关资源
      最近更新 更多