Python 将json数组更改为2d数组
我有一个Json文件,如下所示:Python 将json数组更改为2d数组,python,json,python-3.x,Python,Json,Python 3.x,我有一个Json文件,如下所示: {"matches_details": [{"MatchID": "Liverpool-Manchester United", "Date": "17/12/2020", "Time": "16:00", "Score": "5-0", "Yellow cards"
{"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'])
因此,如何将其更改为具有行、列格式的二维数组,因为我需要将这些数据插入pyqt5 qtTableWidgetItem UI中如果希望将其作为pd.DataFrame,可以尝试以下操作: 作为pd进口熊猫 数值={比赛详情:[{比赛ID:利物浦-曼联,日期:2020年12月17日,时间:16:00,比分:5-0,黄牌:2,红牌:1,州:FT},{比赛ID:水晶宫切尔西,日期:2021年1月20日,时间:11:00,比分:10-0,黄牌:10,红牌:20,州:HT} df_table=pd.DataFramevalues['matches_details'] 如果希望将其作为numpy 2D阵列,只需执行以下操作:
arr_2d = df_table.values
您可以按如下方式尝试使用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']
那么下面的第一部分是什么呢?第一部分帮助您将json放在一个数据帧格式的表格中。什么是“match_details_json”?这将是您要转换为数组的json字符串