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

2024-09-29 23:22:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发一个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 

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

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

所以,我怎样才能得到x1和x2的所有值,就像python中的row一样。在


Tags: 文件csv命令行import程序sql格式show
3条回答

看看open() documentation。在

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

只需使用csv格式,它可以很容易地导入到Excel和 python标准库支持开箱即用的csv。@见python-csv

处理此问题的一种方法是使用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文件。在

相关问题 更多 >

    热门问题