如何从命令行导出数据(这是Python程序的结果)?

时间:2013-12-03 11:47:16

标签: python export-to-excel

我正在研究一个Python程序,我在命令行上有结果。

现在我需要对结果进行分析,因此我需要以SQL,Excel或CSV格式等任何格式导出所有结果。

有些人可以告诉我该怎么做?

import csv
x1=1 x2=2
while True:
    show = [ dict(x1=x1+1 , x2=x2+2)]
    print('Received', show )
    with open('large1.csv','w') as f1:
        writer=csv.writer(f1, delimiter=' ',lineterminator='\n\n',)
        writer.writerow(show)
    x1=x1+1
    x2=x2+1 

这是无限循环,我希望有一个包含2列x1和x2的csv文件。并定期更新x1和x2的所有值(1行1次迭代)

但是通过这段代码,我得到一个名为'large1.csv'的csv文件,只包含一行(最后更新的x1和x2值)。

那么我怎样才能获得x1和x2的所有值,因为row在python中。

3 个答案:

答案 0 :(得分:1)

查看open() documentation

模式w截断文件,这意味着它将替换内容。由于您调用每次循环迭代,因此您将不断删除该文件并将其替换为新文件。模式a会附加到文件中,并且可能您想要的内容。您也可以考虑在循环外打开文件,在这种情况下w可能是正确的模式。

答案 1 :(得分:0)

只需使用csv格式即可轻松导入Excel和 python标准库支持开箱即用的csv。 @See python-csv

答案 2 :(得分:0)

处理此问题的一种方法是使用CSV module,特别是Writer object将输出写入CSV文件(甚至可能不是写入stdout)。该文档有几个例子,包括这个例子:

import csv
with open('some.csv', 'w', newline='') as f:
    writer = csv.writer(f)
    writer.writerows(someiterable)

如果这是您想要的,那么您应该可以在Excel中轻松导入CSV文件。