如何将用户输入(从python)导出到excel工作表?

如何将用户输入(从python)导出到excel工作表?,python,excel,user-interface,user-input,Python,Excel,User Interface,User Input,我正在尝试用python 2.7.3开发一个用户表单。请注意,我是python初学者 如何将用户输入(从python)导出到excel工作表 感谢您编写表单,您可能需要使用Tk—它内置于Python中(import Tkinter) 要导出到Excel,有几个选项: 将数据写入.csv文件(导入csv),然后用Excel加载 使用模块写入.xls文件 使用.COM自动化“远程控制”Excel 编辑:好的,这里有一个使用Tkinter和xlwt的更具体的答案: import Tkinter as

我正在尝试用python 2.7.3开发一个用户表单。请注意,我是python初学者

如何将用户输入(从python)导出到excel工作表


感谢您编写表单,您可能需要使用Tk—它内置于Python中(
import Tkinter

要导出到Excel,有几个选项:

  • 将数据写入.csv文件(
    导入csv
    ),然后用Excel加载
  • 使用模块写入.xls文件
  • 使用.COM自动化“远程控制”Excel
  • 编辑:好的,这里有一个使用Tkinter和xlwt的更具体的答案:

    import Tkinter as tk
    import xlwt
    from xlwt.Utils import cell_to_rowcol2
    
    class MyForm(tk.Frame):
        def __init__(self, master=None, cnf={}, **kw):
            tk.Frame.__init__(self, master, cnf, **kw)
    
            self.fname = tk.StringVar(value="myfile.xls")
            self.sheet = tk.StringVar(value="sheet1")
            self.cell  = tk.StringVar(value="x1")
            self.value = tk.StringVar(value="1234")
    
            tk.Label(master, text="File").grid(row=0, column=0, sticky=tk.E)
            tk.Entry(master, textvariable=self.fname).grid(row=0, column=1, padx=4, pady=4)
    
            tk.Label(master, text="Sheet").grid(row=1, column=0, sticky=tk.E)
            tk.Entry(master, textvariable=self.sheet).grid(row=1, column=1, padx=4, pady=4)
    
            tk.Label(master, text="Cell").grid(row=2, column=0, sticky=tk.E)
            tk.Entry(master, textvariable=self.cell).grid(row=2, column=1, padx=4, pady=4)
    
            tk.Label(master, text="Value").grid(row=3, column=0, sticky=tk.E)
            tk.Entry(master, textvariable=self.value).grid(row=3, column=1, padx=4, pady=4)
    
            go = tk.Button(master, text="Do it!", command=self.write_to_xls).grid(row=4, column=1, padx=4, pady=4, sticky=tk.W)
            self.grid()
    
        def write_to_xls(self):
            # create new workbook
            wb = xlwt.Workbook()
    
            # add sheet using given name
            ws = wb.add_sheet(self.sheet.get())
    
            # get offset of cell to write to
            row,col = cell_to_rowcol2(self.cell.get())
    
            # write text to cell
            ws.write(row, col, self.value.get())
    
            # save to given file name
            wb.save(self.fname.get())
    
    def main():
        master = tk.Tk()
        myform = MyForm(master)
        tk.mainloop()
    
    if __name__=="__main__":
        main()