Python - 比较2种不同的输出格式 - Logi

2024-04-26 23:51:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个程序设计案例,这让我很为难。我并不一定要寻找代码——我只是在寻找逻辑建议,对此我不知所措。你知道吗

我试过几种不同的方法,但似乎没有什么具体的方法。你知道吗

这是回归测试。我有两个文件在两个非常不同的格式相同的数据。我需要比较数据和自动化的过程。我会在稍后阶段担心“差异”。如果我能从两个文件中得到可以比较的数据,应该不会太难。你知道吗

文件1基本上包含JSON数据。文件中还有其他垃圾,但可以删除。数据如下:

{
"Chan-1" : [ {
"key1" : "val1",
"key2" : val2,
"key3" : val3,
}, {
"key1" : "val1",
"key2" : val2,
"key3" : val3,
} ]
}

文件2基本上是一个带有项目的python列表。每个项都有key=value格式的数据,在括号中用逗号分隔。你知道吗

[
spacecraft.telemetry.channel(key1=val1,key2="val2",key3=val3),
spacecraft.telemetry.channel(key1=val1,key2="val2",key3=val3)
]

一个文件中的每个块都对应于另一个文件中的块,而且基本上是不同的。换句话说:

{
"key1" : "val1",
"key2" : val2,
"key3" : val3,
}

从文件1将(或应该)具有与文件2相同的键值对:

(key1=val1,key2="val2",key3=val3)

顺序也差不多。你知道吗

这两个文件都包含大量的“Chan-1”对象的键值对,例如,我截断了数据量。每个块中大约有16个键值对,大约有400个块。你知道吗

我试着处理文件2,使其看起来像JSON数据。 我试过处理文件1,让它看起来更像文件2。 我还尝试将这两个文件作为第三种格式进行解析。 但我对这两个概念都没有深入了解——而且有些东西告诉我我遗漏了一些东西,考虑到我们已经有了一个JSON文件,这应该不是很难做到的。你知道吗

我真的很感激如果有人能给我一些建议的逻辑遵循这里-什么似乎是最好的路线,什么样的逻辑应该放在使这一点发生。你知道吗

谢谢。你知道吗


Tags: 文件数据方法json格式逻辑建议键值
1条回答
网友
1楼 · 发布于 2024-04-26 23:51:50

对于每个文件:

  • 提取对象的“列表”
  • 将列表中的每个对象转换为字典
    • 对于文件1,这个步骤基本上是“将JSON转换为dict”
    • 对于文件2,这将涉及只提取key=value字符串,在=上拆分,并通过字典理解将结果转换为dict。你知道吗

此时,您有两个词典列表。您的问题似乎表明您可以假设列表的排序方式相同,因此现在您可以检查一个列表中的每个dict是否与另一个列表中相同位置的dict匹配。查看zip(list_1, list_2);这会使这一步更容易。你知道吗

相关问题 更多 >