我正在研究一个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中。
答案 0 :(得分:1)
模式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文件。