【发布时间】:2021-11-23 10:04:55
【问题描述】:
我是一名新手编码员,尝试使用从我在学术环境中运行的模拟中获得的 json 文件。每次我运行模拟时,它都会生成一个新的 json 文件,其中包含许多迭代。 我尝试了多种不同的方法来合并它,但我只能使用以下代码打印它:
import json
i = 'a'
user = 'name'
data = [json.loads(line) for line in open(f'/local/data/{user}/testing_json_merge/testlog{i}.json', 'r')]
print(data)
.json的格式如下:
# [{
# "target": 0.09812952038889436,
# "params": {"d_sigma": 0.6090400001793107, "d_tao": 0.38890593065131884,
# "dq10": -1.9158432178725524, "fk": 0.5920523831391995,
# "g1": 0.2032381553682863, "gk": 0.22540306720559464,
# "l1": 0.8194699018730195, "offset": 0.7169580801438833,
# "zeta": 1.0379064628003654},
# "datetime": {"datetime": "2021-10-01 13:54:23", "elapsed": 0.0, "delta": 0.0}
# },
# {
# "target": 0.014074890873478093,
# "params": {"d_sigma": 0.6482184697214659, "d_tao": 0.5626897579230419, "dq10": -1.0414177520045382, "fk": 0.3709149780460721,
# "g1": 0.5032815992407432, "gk": 0.9008190120526002, "l1": 0.33090841233049606, "offset": 0.4381149729712961,
# "zeta": 0.5762116089598821}, "datetime": {"datetime": "2021-10-01 13:54:24", "elapsed": 0.895578, "delta": 0.895578}
# }, ... ]
末尾的“...”表示这种格式模式重复了数百次迭代。
我希望将这些 json 文件中的 20-30 个合并到一个具有相同格式的 json 文件中,以便我可以将其导入模拟器以便稍后继续。
更新: 我在想,我很确定我的 .json 文件的格式设置为缺少数据结构。我认为我正在使用的程序是生成一个对象并一次堆叠一行,只有下一行作为差异化因素。有没有办法保留这个结构,而只是用前一个结构的信息来扩展它?
【问题讨论】:
-
IIRC 这是python json 实现的一个限制:它似乎不喜欢加载列表。