如何将用户输入(从python)导出到excel工作表? [英] How to export user inputs (from python) to excel worksheet?
本文介绍了如何将用户输入(从python)导出到excel工作表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何将用户输入(从python)导出到excel工作表?
谢谢
解决方案
为了编写你的表单,你可能想使用Tk - 它内置在Python中(导入Tkinter
)。
要导出到Excel,有几个选项:
<将您的数据写入.csv文件(
import csv
),然后使用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.Strin gVar(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 = 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,p adx = 4,pady = 4,sticky = tk.W)
self.grid()
def write_to_xls(self):
#创建新的工作簿
wb = xlwt.Workbook()
#使用给定名称添加工作表
ws = wb.add_sheet(self.sheet.get())
#获取偏移量单元格写入
行,col = cell_to_rowcol2(self.cell.get())
#将文本写入单元格
ws.write(row,col,self.value .get())
#保存到给定的文件名
wb.save(self.fname.get())
def main():
master = tk.Tk()
myform = MyForm(master)
tk.mainloop()
如果__name __ ==__ main__:
main )
I am trying to develop a user form in python 2.7.3. Please note that I am a python beginner.
How to export user inputs (from python) to excel worksheet?
Thanks
解决方案
For writing your form, you may want to use Tk - it's built into Python (import Tkinter
).
For exporting to Excel, there are several options:
- write your data to a .csv file (
import csv
) then load it with Excel - use a module to write to an .xls file
- use .COM automation to "remote-control" Excel
Edit: ok, here's a more specific answer using Tkinter and 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()
这篇关于如何将用户输入(从python)导出到excel工作表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文