我有一个空字典,用于表示位置,速度等时间戳数据的集合,以便将此信息存储在.json文件中。我希望以给定的顺序填充字典,以便将所有位置矢量数据(XYZ值)放在一起,将所有速度矢量数据(XYZ值)放在一起,等等。我这样做的脚本如下所示:
dictEntries = {'timestamp':[]}
for entry in entries:
...
posXYZ = entry.getPosXYZ()
velXYZ = entry.getVelXYZ()
eVctr = entry.getEulerAngle()
posABC = entry.getPosABC()
velABC = entry.getVelABC()
tmStmp = {}
tmStmp['zVel'] = velABC[2]
tmStmp['yVel'] = velABC[1]
tmStmp['xVel'] = velABC[0]
tmStmp['zPos'] = posABC[2]
tmStmp['yPos'] = posABC[1]
tmStmp['xPos'] = posABC[0]
tmStmp['Value'] = time
...
dictEntries['timestamp'].append(tmStmp)
但是,当我检查字典中的输出时,元素按字母顺序排列并基于大小写(这是标准的)。使用json.dump()
打印的.json文件的输出是无组织的,与将其放入字典的方式有关
{
"timestamp": [
{
"xPos": 5.2,
"zPos": 3.5,
"yPos": 7.7,
"Value": 0.0,
"zVel": 3.5,
"xVel": 5.2,
"yVel": 7.7
},
{...}
]
}
问题可能是由使用json.dump
引起的,但我想在尝试修复之前检查所有可能性。有没有办法以自定义方式对字典进行排序,以便将位置值放在一起,将速度值放在一起等等?或者有没有办法以特定的顺序将字典输出到json文件,而不是仅仅将内容转储到其中?