You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python填充Word表格单元格时部分内容无法显示的技术求助

问题:Python操作Word表格时,Tkinter变量内容无法显示

我正在学习用Python操作Word文档,填充表格单元格时,发现像var_nom.get()这类内容无法显示在生成的Word文件里,但其他内容(比如字符串拼接的固定文本)能正常显示。相关代码如下:

import docx
import os
os.getcwd()

doc = docx.Document('document_RS.docx')

table_inf=doc.add_table(rows =5, cols=1)
table_inf.cell(0,0).text = "Nom & prénom : "+ var_age.get() 
table_inf.cell(1,0).text = str(var_nom.get())

doc.save("new2.docx")

解决办法

  • 确保变量正确初始化并赋值:如果var_nom、var_age是Tkinter的StringVar或IntVar,必须先完成初始化并设置值,.get()才能获取到有效内容。示例:

    from tkinter import StringVar, IntVar
    var_nom = StringVar()
    var_nom.set("Doct Oussama")  # 提前设置变量值
    var_age = IntVar()
    var_age.set(30)
    
  • 检查变量作用域:确认var_nom、var_age的定义位置,避免因局部变量作用域导致无法访问到正确的变量实例。如果变量是在函数内定义的,需确保在调用.get()时变量仍处于有效作用域。

  • 确认Tkinter主循环状态:如果是GUI程序,要保证在调用.get()前,Tkinter主循环(root.mainloop())已启动,或者变量值是在用户交互后被设置的。主循环未运行时,变量可能保持初始空值。

  • 先验证变量值:在写入Word前,先打印var_nom.get()的结果,确认是否为预期内容。如果打印为空,说明变量本身没有值,需排查赋值逻辑:

    print(var_nom.get())  # 验证变量内容
    print(var_age.get())
    

内容的提问来源于stack exchange,提问作者Doct Oussama

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 14:50:03