2012-11-22 101 views
0

我想在excelfile中打印python脚本的输出。我试过这段代码,但它从选定的输入文件中读取每一行,然后将其写入一个名为output.xls的新excel文件中?谢谢在excel中打印python脚本输出

import xlwt 
from Tkinter import *    
from tkFileDialog import askopenfilename  

def callback(): 
    filename = askopenfilename() 
    wb = xlwt.Workbook() 
    ws0 = wb.add_sheet('Sheet1') 

    with open(filename, 'r') as f: 
     for i, line in enumerate(f): 
      ws0.write(i, 0, line.strip()) 
    wb.save('output.xls') 

errmsg = 'Error!' 
a = Button(text='click me', command=callback) 
a.pack() 
mainloop() 
+4

你说的'打印python脚本的输出excelfile'是什么意思?而上述是如何不是**你想要什么? –

回答

0

如果你的意思,你在做什么,相反的 - 例如,从一个Excel文件中读取行,那么你可以用这个工作(这需要你生成的文件,按您的代码输入)

import xlrd 

wb = xlrd.open_workbook('output.xls') 
ws = wb.sheet_by_name('Sheet1') 
for rowno in xrange(ws.nrows): 
    print ws.row_values(rowno) 
+0

不,我写了一个简单的脚本来检查在代码中使用0的div,即,如果divis被0使用,它将打印该行no ..所以我想从python shell转储输出到excel请帮助我 – user1763020

+0

@ user1763020这仍然很难理解你的意思 - 你是不是刚刚写完所有的行,而只是写出你的除零条件发生的地方? –

+0

感谢you..take简单的代码进口linecache的示例 CNT = 1 DE = '#定义' MN = '模块' 而CNT = 1500: DAT = linecache.getline( 'opensmefile',CNT) 如果(dat.count(mn!= 0)): print cnt cnt = cnt + 1 ....我想在excel中输出此脚本 – user1763020

0
import xlwt 

x = (("a",1),("b",2),("c",3)) 

wb = xlwt.Workbook() 
ws = wb.add_sheet("test") 
for i, row in enumerate(x): 
    for j, col in enumerate(row): 
     ws.write(i, j, col) 
wb.save("sample.xls") 
+0

您可以使用上述代码或将其写入csv文件并访问它在excel ... – fewtalks

+0

好的,非常感谢很多..任何方式来转储一个python脚本的输出到excel文件我的意思是我应该得到我的脚本输出在excel ..要做到这一点,我应该添加任何东西到我的脚本 – user1763020