Python XML NameError:未定义全局名称“qn”
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python XML NameError:未定义全局名称“qn”相关的知识,希望对你有一定的参考价值。
我正在使用python-docx创建一个脚本(rows = 1,cols = 1)。单元格内的文本需要垂直和水平对齐,背景为灰色。
我使用WD_TABLE_ALIGNMENT水平对齐文本和xml为背景着色。但这是我的问题。我把XML脚本垂直对齐,我有一个错误:“未定义全局名称'qn'。”
这是代码:
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 XML NameError:未定义全局名称“qn”的主要内容,如果未能解决你的问题,请参考以下文章
Python - NameError:名称 itemgetter 未定义
Python 3:NameError:未定义名称“sklearn”
Python / Access NameError:名称''未定义