2012-11-22 124 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