【发布时间】:2021-08-10 23:54:24
【问题描述】:
我有一个包含(嵌套列表)的嵌套字典。我浏览了 Stackoverflow 中的几篇文章(here、here 和 here)。但是,我不知道如何解决这些问题。字典看起来像
{ 'LinReg': { 'First': [ array([ 0.83333333, -0.77777778, -0.6 , 0.72222222]),
array([0.4 , 0.05555556, 0.4 , 0.44444444])],
'Second': [ array([[5.16666667, 3.28571429, 2.4 , 6.38461538]]),
array([[ 4.83333333, 23. , 1.26666667, 3.22222222]])],
'Third': [ array([[ 5.16666667, -3.28571429, -2.4 , 6.38461538]]),
array([[ 4.83333333, 23. , 1.26666667, 3.22222222]])],
'Fourth': [ array([0.83333333, 0.77777778, 0.6 , 0.72222222]),
array([0.4 , 0.05555556, 0.4 , 0.44444444])]},
'kNN': { 'First': [ array([ 0. , -0.75 , 0.5 , 0.41666667]),
array([ 0. , -0.8 , -0.1 , 0.08333333])],
'Second': [ array([[1. , 2.33333333, 4. , 7.4 ]]),
array([[ inf, 2.75 , 1.4 , 1.41666667]])],
'Third': [ array([[ 0. , -2.33333333, 4. , 7.4 ]]),
array([[ 1. , -2.75 , -1.4 , 1.41666667]])],
'Fourth': [ array([0. , 0.75 , 0.5 , 0.41666667]),
array([0. , 0.8 , 0.1 , 0.08333333])]}}
我正在尝试的代码
a = ["Album/Track"] + dictionary.keys()
x = list(set([y for z in dictionary.values() for y in z.keys()]))
rows = [a] + [[q] + [dictionary[p].get(q, "-") for p in a[1:]] for q in x]
with open("my.csv", "wb") as csvfile:
writer = csv.writer(csvfile)
for row in rows:
writer.write(row)
我怎样才能把这本字典转换成如下的 CSV 文件?
LinReg First Array1_Output1, Array1_Output2, and so on
Array2_Output1, Array2_Output2, and so on
Second
Third
Fourth
kNN First Array1_Output1, Array1_Output2, and so on
Array2_Output1, Array2_Output2, and so on
Second
Third
Fourth
【问题讨论】:
-
你能编辑问题并把预期的输出放在那里吗?
-
你想得到什么?
-
如果没有看到您的任何数据或您编写的任何产生问题的代码,很难回答您的问题。请查看 Jon Skeet 的优秀博文 WRITING THE PERFECT QUESTION 以获取更新问题的指导。有关提出好问题的更详细教程,请参阅 Eric S. Raymond 的网站How To s The Smart Way
-
您发布的数据究竟代表什么?
-
@AndrejKesely 和 Onyambu 更新了预期输出
标签: python-3.x list csv dictionary nested