【发布时间】:2021-02-02 22:37:30
【问题描述】:
我知道如何将一个字典写入 csv 文件,但如果我需要使用多个字典中的值怎么办?
目前这是我正在使用的代码:
for i , j in test.items():
writer.writerow({'Patient ID': i, 'Total visits': j})
for key,value in frq.items():
writer.writerow({'Total unique physicians': value})
这会在跳过一个部分时打印出 csv,并在第二个部分打印唯一的医生。 例如:
patient ID total visits total unique physicians
5 2
5 3
4 4
5 4
patient ID total visits total unique physicians
1
2
3
4
我想要这个:
patient ID total visits total unique physicians
5 2 1
5 3 2
4 4 3
5 4 4
有谁知道我可以使用多个字典编写 csv 文件的方法吗?我有其他这种格式的字典,我需要使用这种方法。我只能使用导入 csv、os 和字符串模块,所以没有 pandas。
【问题讨论】:
-
我将从研究 zip() 方法的作用开始。最坏的情况是,您只需“手动”执行此操作。但整个事情看起来有点可疑。您确定第三列的值真的“匹配”另一个字典的键列吗?
-
@GhostCat 我把 zip 拿出来,我意识到我复制了旧代码。两者都是字典。是的,他们确实匹配。我运行了一个测试副本,它们是相同的。我的字典没有不同的键,但我有不同的值。
-
然后只需迭代第一个字典的键,并从您要在自己的循环中打印的所有字典中提取值?
-
如果它们匹配,对于每一行,从另一个字典更新一个字典以合并它们,然后将合并的字典与 writerow 一起使用。
标签: python csv dictionary write