我正在尝试创建一个代码,用xlsxwriter将输入写到excel文件中,但是xlsx文件中的输出是这样的:
<function Act_Key at 0x7fbf27008670>
代码如下:
import tkinter as tk
from tkinter import *
import time
import os
import sys
import pathlib
from pathlib import *
import xlsxwriter
#command
def succes():
workbook = xlsxwriter.Workbook('/home/matteo/Scrivania/Healir/Healir/Healir_PY/bin/files/info.xlsx')
worksheet = workbook.add_worksheet()
worksheet.write('A1', 'Nome')
worksheet.write('B1', 'Act.Key')
worksheet.write('A2', str(Nome))
worksheet.write('B2', str(Act_Key))
workbook.close()
config.destroy()
os.system('python3 /home/matteo/Scrivania/Healir/Healir/Healir_PY/bin/project/menu.py')
#var
def Nome():
global value1
value1 = e1.get()
def Act_Key():
global value2
value2 = e2.get()
#gui
config = Tk()
config.title('Healir')
config.configure(bg='#7b4397')
config.attributes("-fullscreen", True)
#input
tk.Label(config, text="Nome").grid(row=0)
tk.Label(config, text="Codice Seriale").grid(row=1)
e1 = tk.Entry(config)
e2 = tk.Entry(config)
e1.grid(row=0, column=1)
e2.grid(row=1, column=1)
suc = Button(config, text='Okay', command=succes)
suc.place(x=300, y = 15)
config.mainloop()
正确创建了xlsx文件,并且正确写入了A1和B1中的单词。问题仅在于Tkinter条目的输入。
答案 0 :(得分:0)
问题是这样的:
worksheet.write('A2', str(Nome))
worksheet.write('B2', str(Act_Key))
Nome
和Act_Key
是函数。获得str(..)
值将只打印其功能ID:
>>> def foo():
... print("abc")
...
>>> foo
<function foo at 0x102951200>
>>> str(foo)
'<function foo at 0x102951200>'
...这是您当前正在打印到.xlsx文件的内容。
您需要调用这些功能:Nome()
和Act_Key()
。
worksheet.write('A2', str(Nome()))
worksheet.write('B2', str(Act_Key()))
然后,在这些函数中,只需返回Entry
文本:
def Nome():
return e1.get()
def Act_Key():
return e2.get()