作为我工作的一部分,我的目的是编写一个脚本,将现场数据从现有的数据库转换为外部数据库,以便进行发布,但相似但不那么详细。我想用Python实现这一点。
可以通过复制更改编码的内容来转换某些列,即原始数据库中的2212
在2
列的外部数据库中变为X
。为了达到这个目的,我用JSON编写了编码,例如
{
"2212": 2,
"2213": 1,
"2214": 2,
...
}
这会导致一些重复,因为你可以看到,但由于列表不能是JSON中的键,我没有看到更好的方法(简单而干净;确保我可以将右侧作为键但是然后而不是jsonParsedDict["2212"]
我必须通过所有键1, 2, ...
并在右侧找到我的原始密钥。)
它变得丑陋(在我看来)是原始数据库中多列的信息需要组合才能得到新列。现在我刚刚写了一个Python函数做了很多if
检查。它有效,我将以这种方式完成这项工作,但它似乎在美学上是错误的,我想更多地了解Python在该任务中的可能性。
想象一下,例如我在原始数据库X
和Y
中有两列,然后基于X
中的值,我不做任何事情(对于未在外部编码的值)数据库),直接返回一个值,或者根据Y
在同一行中的值返回一个结果。现在这导致了一些if
语句。我的另一个想法是在JSON文件中有堆叠条目,例如
{
"X":
{
"2211": 1,
"2212": null,
"2213":
{
"Y":
{
"3112": 1
"3212": 2
}
}
"2214":
{
"Y":
{
"3112": 2
"3212": 1
}
}
"2215":
{
"Y":
{
"3112": 1
"3212": 2
}
}
}
}
但是这种方法真的炸毁了JSON文件,重复变得更加痛苦。唉,除了代码中的if
之外,我无法想到编写这些条件的任何其他方法。
这是一种可行的方法吗?还是有更好的解决方案?如果我只能在JSON文件中指定变量和关联变量(它们是决策过程的一部分),那将是很好的。我想抽象转换过程,以便它主要由这些JSON文件引导,并且Python代码非常通用。如果有比JSON更好的格式,那么建议非常受欢迎。