Python XML NameError: global name 'qn' is not defined
Python XML NameError: global name 'qn' is not defined
我正在使用 python-docx 编写一个脚本,它创建一个 table(rows=1, cols=1)。单元格内的文本需要垂直和水平对齐,背景为灰色。
我使用 WD_TABLE_ALIGNMENT 水平对齐文本,使用 xml 为背景着色。但这是我的问题。我用 XML 脚本垂直对齐,但出现错误:"global name 'qn' is not defined."
这是代码:
from docx import Document
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.enum.table import WD_TABLE_ALIGNMENT
from docx.oxml.ns import nsdecls
from docx import parse_xml, OxmlElement
def create_table():
table = document.add_table(rows=1, cols=1)
table.alignment = WD_TABLE_ALIGNMENT.CENTER
row_cells=table.rows[0].cells
tc=row_cells[0]._tc
tcPr=tc.get_or_add_tcPr
tcVAlign = OxmlElement('w:vAlign')
tcVAlign.set(qn('w:val'), "center")
tcPr.append(tcVAlign)
是否导入错误?还是脚本错误?
谢谢。
我正在查看 docx 库,在 /docx/oxml/xlmchemy.py 中我找到了一行:
from .ns import qn
所以我尝试这样做:
from docx.oxml.ns import qn
这是一个 ns 函数,它可以工作。
谢谢。
我正在使用 python-docx 编写一个脚本,它创建一个 table(rows=1, cols=1)。单元格内的文本需要垂直和水平对齐,背景为灰色。
我使用 WD_TABLE_ALIGNMENT 水平对齐文本,使用 xml 为背景着色。但这是我的问题。我用 XML 脚本垂直对齐,但出现错误:"global name 'qn' is not defined."
这是代码:
from docx import Document
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.enum.table import WD_TABLE_ALIGNMENT
from docx.oxml.ns import nsdecls
from docx import parse_xml, OxmlElement
def create_table():
table = document.add_table(rows=1, cols=1)
table.alignment = WD_TABLE_ALIGNMENT.CENTER
row_cells=table.rows[0].cells
tc=row_cells[0]._tc
tcPr=tc.get_or_add_tcPr
tcVAlign = OxmlElement('w:vAlign')
tcVAlign.set(qn('w:val'), "center")
tcPr.append(tcVAlign)
是否导入错误?还是脚本错误?
谢谢。
我正在查看 docx 库,在 /docx/oxml/xlmchemy.py 中我找到了一行:
from .ns import qn
所以我尝试这样做:
from docx.oxml.ns import qn
这是一个 ns 函数,它可以工作。
谢谢。