このデータを取得するためにBeautifulSoupを使用しました。ネストされた辞書のようですが、データフレームに変換できませんでした。タイプはです。
{"page":1,"rows":[{"id":"160128","cell":{"fund_id":"160128","bond_ratio":"132.04","report_dt":"2019-12-31","is_outdate":false,"maturity_dt_tips":""}},{"id":"160130","cell":{"fund_id":"160130","bond_ratio":"165.29","report_dt":"2019-12-31","is_outdate":false,"maturity_dt_tips":""}},{"id":"160131","cell":{"fund_id":"160131","bond_ratio":"94.93","report_dt":"2019-12-31","is_outdate":false,"maturity_dt_tips":""}}],"total":3}
「セル」の各キーの下にある「値」を取得するにはどうすればよいですか?ありがとう。
fund_id bond_ratio report_dt is_outdate maturity_dt_tips
0 160128 132.04 2019-12-31 false
1 160130 165.29 2019-12-31 false
2 160131 94.93 2019-12-31 false
d = {"page":1,"rows":[{"id":"160128","cell":{"fund_id":"160128","bond_ratio":"132.04","report_dt":"2019-12-31","is_outdate":False,"maturity_dt_tips":""}},{"id":"160130","cell":{"fund_id":"160130","bond_ratio":"165.29","report_dt":"2019-12-31","is_outdate":False,"maturity_dt_tips":""}},{"id":"160131","cell":{"fund_id":"160131","bond_ratio":"94.93","report_dt":"2019-12-31","is_outdate":False,"maturity_dt_tips":""}}],"total":3}
from pandas.io.json import json_normalize
df = json_normalize(d['rows'])
print (df)
id cell.fund_id cell.bond_ratio cell.report_dt cell.is_outdate \
0 160128 160128 132.04 2019-12-31 False
1 160130 160130 165.29 2019-12-31 False
2 160131 160131 94.93 2019-12-31 False
cell.maturity_dt_tips
0
1
2
次に、必要に応じて.
、列名の前に値を削除しstr.split
、リストの最後の値を次のように追加してインデックスを付けます[-1]
。
df.columns = df.columns.str.split('.').str[-1]
print (df)
id fund_id bond_ratio report_dt is_outdate maturity_dt_tips
0 160128 160128 132.04 2019-12-31 False
1 160130 160130 165.29 2019-12-31 False
2 160131 160131 94.93 2019-12-31 False
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加