将 defaultdict 存储到文本文件中
Store defaultdict into a text file
我有一个 defaultdict test
看起来像这样 :
defaultdict(<type 'list'>, {'A': [['Age','19'], ['Name','Peter'], ['Country','Australia]], 'B': [['Age','22'], ['Name','Paul'], ['Country','England']], 'C': ... ]]})
我想将该默认值输出到新文件中,并将键作为文件名。我可以用 :
for k,v in test.items():
with open("{}_test.txt".format(k), "w") as f:
csv='\n'.join(['\n'.join(t) for t in v])
f.write("%s,%s\n" % (k, csv))
可行,但我遇到的问题是:当我检查文件内容时,它看起来像这样:
cat A_test.txt
A,Age
19
Name
Peter
Country
Australia
cat B_test.txt
B,Age
22
Name
Paul
Country
England
我不想要文件第一行开头的“A,
”和“B,
”。应该是这样的:
cat A_test.txt
Age
19
Name
Peter
Country
Australia
cat B_test.txt
Age
22
Name
Paul
Country
England
有解决办法吗?
在最后一行中,删除打印密钥的 k ?
f.write("%s\n" % ( csv))
我有一个 defaultdict test
看起来像这样 :
defaultdict(<type 'list'>, {'A': [['Age','19'], ['Name','Peter'], ['Country','Australia]], 'B': [['Age','22'], ['Name','Paul'], ['Country','England']], 'C': ... ]]})
我想将该默认值输出到新文件中,并将键作为文件名。我可以用 :
for k,v in test.items():
with open("{}_test.txt".format(k), "w") as f:
csv='\n'.join(['\n'.join(t) for t in v])
f.write("%s,%s\n" % (k, csv))
可行,但我遇到的问题是:当我检查文件内容时,它看起来像这样:
cat A_test.txt
A,Age
19
Name
Peter
Country
Australia
cat B_test.txt
B,Age
22
Name
Paul
Country
England
我不想要文件第一行开头的“A,
”和“B,
”。应该是这样的:
cat A_test.txt
Age
19
Name
Peter
Country
Australia
cat B_test.txt
Age
22
Name
Paul
Country
England
有解决办法吗?
在最后一行中,删除打印密钥的 k ?
f.write("%s\n" % ( csv))