2

嗨,我有一些 python 脚本。我需要创建一个带有几个按钮的 GUI,以通过浏览打开这些文件。我必须通过单击 GUI 按钮来运行这些脚本,并且应该将输出写入 Excel 工作表。我尝试使用下面的代码,但是我可以读取文件!请帮忙?谢谢

from Tkinter import *            
from tkFileDialog   
import askopenfilename      

def callback():
    r = open(askopenfilename(),'r')

a = Button(text='click me', command=callback)
a.pack()

mainloop()
4

3 回答 3

2

在 callback() 内部而不是打开文件,使用 execfile("abc.py") 执行文件

def callback():
    abc = askopenfilename()
    execfile("abc.py")
于 2012-12-20T03:54:24.120 回答
0

下面的代码是一个简单的示例,它从选定的输入文件中读取每一行,然后将其写入一个名为 output.xls 的新 Excel 文件中。它使用优秀的xlwt 库来创建 excel 文件。您还可以选择使用csv模块创建一个 csv 文件,该模块是 python 标准库的一部分,excel 也可以读取。使用 xlwt 的优点是您可以应用格式设置、合并单元格、公式和许多其他属于 xls 文件格式的功能。

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()
于 2012-11-21T05:34:24.707 回答
0
        import Tkinter, tkFileDialog
        root = Tkinter.Tk()
        root.withdraw()
        dirname=tkFileDialog.askdirectory(parent=root,initialdir="/",title='Please select a directory')
        do something with dirname
        print dirname

#This code for file selection:

    from Tkinter import Tk
    from tkFileDialog import askopenfilename

    Tk().withdraw() # we don't want a full GUI, so keep the root window from appearing

    filename = askopenfilename() # show an "Open" dialog box and return the path to the selected file
    print(filename)
于 2017-03-14T21:07:38.447 回答