Xlsxwriter Python中的字符串变量

Posted

技术标签:

【中文标题】Xlsxwriter Python中的字符串变量【英文标题】:String variable in Xlsxwriter Python 【发布时间】:2016-05-23 00:49:00 【问题描述】:

我是 python 的新手,我正在用 Tkinter 制作一个程序,它可以让我在另一个 excel 文件中写东西,而不必实际打开 Excel 文件。

在 tkinter 中,我添加了一个输入框,我必须写入一个值,以及一个按钮,该按钮将使用 xlsxwriter 将值写入 excel 格式中。

我试过了

    name_entry = StringVar()
    name_get = name_entry.get()
    e1 = Entry(root, textvariable = name_entry)
    b1 = Button(root, text = "Create")
    e1.pack()
    b1.bind("<Button-1>", create)
    b1.pack()

函数'create'是

    def create(event):
        workbook = xlsxwriter.Workbook(0, "2016" + str(name_get))
        worksheet = workbook.add_worksheet()
        worksheet.write(0, 0, 'name')
        worksheet.write(1, 0, str(name_get))
        workbook.close

当我运行程序并在条目中写一些东西并按下 按钮(b1),它创建的excel文件只有'name'写在 row = 0 and column = 0,但是我没有我在row = 1 and column = 0的输入框中写的名字。另外,创建的文件名只会保存为“2016”,而不是“ 2016" + str(name_get),我在输入框中写的值。

除此之外,程序没有任何错误

如何将输入框中的值写入excel文件?

另外,是否可以在 xlsxwriter 中创建 excel 文件(例如 .csv 文件)的扩展名?

非常感谢您阅读我的问题,我非常感谢您的建议!

【问题讨论】:

Buttoncommand= 所以你不需要bind 我不熟悉xlsxwriter 模块,但如果你尝试用str(type(name_get)) 替换str(name_get),你会得到在excel 表中打印的对象类型。这是有用的信息,您可以使用它来搜索更多信息。 你必须在函数中使用name_entry.get()name_get 无法按预期工作 - 它只保留在开始时执行的 name_entry.get() 返回的值(当 Entry 为空时) 【参考方案1】:

可能还有其他问题,但此行不正确:

   workbook = xlsxwriter.Workbook(0, "2016" + str(name_get))

Workbook constructor takes the parameters:Workbook(filename[, options])

所以那行应该是:

   workbook = xlsxwriter.Workbook("2016" + str(name_get))

另外,是否可以在 xlsxwriter 中创建 excel 文件(例如 .csv 文件)的扩展名?

没有。

XlsxWriter 仅创建 xlsx 文件,输出文件的文件扩展名应为.xlsx,否则 Excel 在打开文件时会报错。

【讨论】:

【参考方案2】:

如果我理解正确,您正在尝试将字符串变量传递给 worksheet.write 方法。

这可以使用worksheet.write_string() 方法来完成。

http://xlsxwriter.readthedocs.io/worksheet.html?highlight=write_string#write_string

例如。 -

name_entry = ''
worksheet.write_string(1,0, name_entry)

【讨论】:

以上是关于Xlsxwriter Python中的字符串变量的主要内容,如果未能解决你的问题,请参考以下文章

使用 python-xlsxwriter 或 bash 打开受密码保护的 ods 文件

如何强制Python XlsxWriter以自定义格式写入单元格

python学习之模块:xlsxwriter

python xlsxwriter 在同一个单元格写入不同的格式文本

python+xlsxwriter+PIL自动压图贴图到Excel小工具

004Python xlsxwriter模块