为什么不能将输出放入Excel文件?

时间:2019-12-28 11:28:12

标签: python tkinter xlsxwriter

我正在尝试创建一个代码,用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条目的输入。

1 个答案:

答案 0 :(得分:0)

问题是这样的:

    worksheet.write('A2', str(Nome))
    worksheet.write('B2', str(Act_Key))

NomeAct_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()