我有矩阵nXn。python中的JSON自动头文件
我希望将其保存在JSON文件这样的:
样品基质:
12 1
3 4
样品JSON:
{'1-1': '12','1-2': '1','2-1': '3','2-2':'4'}
我想创建为NxN矩阵自动标题等所示之前和我不知道如何做到这一点。
我有矩阵nXn。python中的JSON自动头文件
我希望将其保存在JSON文件这样的:
样品基质:
12 1
3 4
样品JSON:
{'1-1': '12','1-2': '1','2-1': '3','2-2':'4'}
我想创建为NxN矩阵自动标题等所示之前和我不知道如何做到这一点。
import json
import collections
data = [ [ 12,1], [3,4] ]
dataDict = collections.OrderedDict()
for i in range(0, len(data)):
for j in range(0, len(data[0])):
key = str(i+1) + '-' + str(j+1)
dataDict[key] = data[i][j]
dataJson = json.dumps(dataDict)
print dataJson
假设你的矩阵在内存中,只是循环它。
import json
json_dict = {}
for i, arr in enumerate(matrix):
for j, element in enumerate(arr):
json_dict[str(i) + '-' + str(j)] = str(element)
json.dump(json_dict, open('matrix.txt', 'w'))
错误:json_dict [str(i)+' - '+ str(j)] = str(matrix [i] [j]) TypeError:列表索引必须是整数或切片,而不是str – hila
@hila Nope,它再次随机数据并得到这个:'{'1-1':'-0.983531037784','1-0':'2.29816161846','0-0':'-1.75500730824','0-1':' -1.22495386805' }'。我认为你传递的是你的数据中没有显示给我们的信息。 –
@hila,我想你可能会在某处重用循环变量。真的很难只通过这一个错误,没有别的。 –
你是如何存储你的矩阵的那一刻? – cookiedough
@OP,你确定你想要的值也是字符串吗? –