将运行时数据存储到CSV文件

时间:2019-02-12 10:10:56

标签: python-2.7 csv

我正在尝试将运行时输出存储到CSV文件中。它只存储一个数据,但我想存储所有数据。

我的代码,

path = self.paths[src][dst]
next_hop = path[path.index(dpid) + 1]
out_port = self.network[dpid][next_hop]['port']

print("path: ", path)
writer=csv.writer(open('pth.csv','wb'))
writer.writerow([path]);

输出为

['62:61:5f:80:dc:ca', 5, 4, 1, '46:22:26:36:96:48']
['62:61:5f:80:dc:ca', 5, 4, 1, '46:22:26:36:96:48']
['62:61:5f:80:dc:ca', 5, 4, 1, '46:22:26:36:96:48']
['62:61:5f:80:dc:ca', 5, 4, 1, '46:22:26:36:96:48']
['62:61:5f:80:dc:ca', 5, 4, 1, '46:22:26:36:96:48']
['46:22:26:36:96:48', 1, 4, 5, '62:61:5f:80:dc:ca']
['46:22:26:36:96:48', 1, 4, 5, '62:61:5f:80:dc:ca']
['46:22:26:36:96:48', 1, 4, 5, '62:61:5f:80:dc:ca']

如果您能给出提示,将会很有帮助

1 个答案:

答案 0 :(得分:1)

  

但是在文件中,它仅存储最后一行数据。

可能是因为这个原因:

open('pth.csv','wb')

使用w截断文件,这意味着它将覆盖先前的内容。
参见https://docs.python.org/2/library/functions.html#open

  

最常用的mode值为'r'用于读取,'w'用于读取   写入(如果文件已经存在,则将其截断),'a'用于   附加(在某些Unix系统上,这意味着所有写入都附加到   文件末尾,无论当前搜索位置如何。

另请参阅相关的How do you append to a file in Python?

尝试使用a

open('pth.csv','ab')