【问题标题】:change a json array into a 2d array将 json 数组更改为 2d 数组
【发布时间】:2021-07-20 12:36:55
【问题描述】:

所以我有一个像这样的 Json 文件:

{"matches_details": [{"MatchID": "Liverpool-Manchester United", "Date": "17/12/2020", "Time": "16:00", "Score": "5-0", "Yellow cards": "2", "Red cards": "1", "State": "FT"}, {"MatchID": "Crystal Palace-Chelsea", "Date": "20/1/2021", "Time": "11:00", "Score": "10-0", "Yellow cards": "10", "Red cards": "20", "State": "HT"}]}

打印出所有数组的方法是:

f = open('datngu.json',)
    data = json.load(f)
    for i in data['matches_details']:
        print(i)

    f.close()

以及单张打印的方式:

print(data['matches_details']['MatchID'])

那么如何将其更改为具有 row,col 格式的二维数组,因为我需要将这些数据插入 pyqt5 qtTableWidgetItem UI

【问题讨论】:

标签: python json python-3.x


【解决方案1】:

如果您想将其作为 pd.DataFrame() 使用,可以尝试以下操作:

import pandas as pd

values = {"matches_details": [{"MatchID": "Liverpool-Manchester United", "Date": "17/12/2020", "Time": "16:00", "Score": "5-0", "Yellow cards": "2", "Red cards": "1", "State": "FT"}, {"MatchID": "Crystal Palace-Chelsea", "Date": "20/1/2021", "Time": "11:00", "Score": "10-0", "Yellow cards": "10", "Red cards": "20", "State": "HT"}]}

df_table = pd.DataFrame(values['matches_details'])

如果您更喜欢它作为 numpy 二维数组,只需执行以下操作:

arr_2d = df_table.values

【讨论】:

  • 那么下面的第一条是什么
  • 第一部分帮助您将 json 放入 DataFrame 格式(表格)中。
【解决方案2】:

你可以尝试如下使用numpy:

m = np.zeros((len(match_details_json), 7))
for i, elem in enumerate(match_details_json):
    m[i,0] = elem['MatchID']
    m[i,1] = elem['Date']
    m[i,2] = elem['Time']
    m[i,3] = elem['Score']
    m[i,4] = elem['Yellow cards']
    m[i,5] = elem['Red cards']
    m[i,5] = elem['State']

【讨论】:

  • 什么是'match_details_json'?
  • 这将是您要转换为数组的 json 字符串
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-31
  • 2021-11-03
  • 1970-01-01
相关资源
最近更新 更多