我正在尝试从我转储的 JSON 文件中提取信息。我使用 Mido 模块来获取我需要的信息,而我发现获得这些功能的唯一方法是将其转储为 JSON。但是,经过一番搜索,我尝试并没有设法将信息提取并存储在 python 数组 ( numpy array
)* 下面,您会看到示例代码。我很确定[[
文件开头的 double 会造成所有这些麻烦。
if __name__ == '__main__':
filename = 'G:\\ΣΧΟΛΗ p12127\\Πτυχιακη\\MAPS Dataset\\MAPS_AkPnBcht_1\\AkPnBcht\\ISOL\\CH\\MAPS_ISOL_CH0.1_F_AkPnBcht.mid'
midi_file = mdfile(filename)
for i, track in enumerate(midi_file.tracks):
print('Track: ', i,'\nNumber of messages: ', track)
for message in track:
print(message)
def midifile_to_dict(mid):
tracks = []
for track in mid.tracks:
tracks.append([vars(msg).copy() for msg in track])
return {
'ticks_per_beat': mid.ticks_per_beat,
'tracks': tracks,
}
mid = mido.MidiFile('G:\\ΣΧΟΛΗ p12127\\Πτυχιακη\\MAPSDataset\\MAPS_AkPnBcht_1\\AkPnBcht\\ISOL\\CH\\MAPS_ISOL_CH0.1_F_AkPnBcht.mid')
dataj = json.dumps(midifile_to_dict(mid), indent=2)
data = json.loads(dataj)
输出 :
{
"ticks_per_beat": 32767,
"tracks": [[
{
"type": "set_tempo",
"tempo": 439440,
"time": 0
},
{
"type": "end_of_track",
"time": 0
}
]]
}
那么,要关闭它,我该如何提取这些信息?JSON甚至是一个好方法吗?如果是这样,我怎么能真正提取这些信息?或者有办法进去[[ ]]
。
[Windows 7,Python 3.6+]