如何解决如何在csv或excel文件中编写嵌套的python字典以使用制表符和换行符分隔列和行?
我有一些嵌套的字典形式:
nestedDicts = {"vertical1st":{"channel1st":{"format1st":{"size":1},"format2nd":{"size":2}}},"vertical2nd":{"channel2nd":{"format3rd":{"size":3},"format4th":{"size":4}}}}
我想以以下形式写出来:
到csv或excel文件。
我尝试将csv.DictWriter
和标准.write方案与“ \ t”和“ \ n”一起使用,并尝试在熊猫中进行尝试,但是在最终的csv文件中,它将所有内容输出到单个列中或同一列中有多行。
任何有关如何进行这种格式化的建议将不胜感激。
解决方法
我从来没有使用过它,但是我只是为.csv文件编写了简单的解决方案。希望对您有帮助!
解决方案:
Month || X || Y || Z || Total
January || 125 || 133 || 155 || 413
February || 150 || 123 || 129 || 402
March || 170 || 177 || 155 || 502
....
....
收到的文件:
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()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。