[英]How to write nested python dicts to separate columns and rows with tabs and newlines in csv or excel file?
我有一些嵌套字典的形式: nestedDicts = {"vertical1st":{"channel1st":{"format1st":{"size":1},"format2nd":{"size":2}}},"vertical2nd":{"channel2nd":{"format3rd":{"size":3},"format4th":{"size":4}}}}
我想把它写成以下形式:
到 csv 或 excel 文件。
我已经尝试使用csv.DictWriter
和 standard.write 方案与“\t”和“\n”以及在 pandas 中尝试它,但在最终的 csv柱子。
任何有关如何进行这种格式化的建议将不胜感激。
我从来没有使用过这个,但我刚刚为.csv 文件编写了简单的解决方案。 我希望它会帮助你!
解决方案:
import csv
nestedDicts = {"format1nd":{"channel1st":{"format1st":{"size":1},"format2nd":{"size":2}}},"vertical2nd":{"channel2nd":{"format3rd":{"size":3},"format4th":{"size":4}}}}
def specific_writer(d, iterator=0):
for i in d:
if isinstance(d[i], dict):
writer.writerow([" " for j in range(iterator)] + [i])
specific_writer(d[i], iterator+1)
else:
writer.writerow([" " for j in range(iterator)] + [i + str(d[i])])
iterator = 0
with open("fruits.csv", "w") as f:
writer = csv.writer(f, delimiter='|')
specific_writer(nestedDicts)
f.close()
收到的文件:
format1nd
|channel1st
| |format1st
| | |size1
| |format2nd
| | |size2
vertical2nd
|channel2nd
| |format4th
| | |size4
| |format3rd
| | |size3
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.