我使用python-docx
库,我有一个名为file.docx
的文档。我需要将.docx
表的所有内容复制到file.xlsx
我的代码是
from docx import *
f = open('file.docx')
d = Document(f)
ts = d.tables[1]
print ts
<docx.table.Table object at 0xb691f7ac>
但是,<docx.table.Table object at 0xb691f7ac>
不包含内容。我怎样才能得到表格的内容?
答案 0 :(得分:0)
您应该尝试以下方法:
from docx import *
f = open('file.docx')
document = Document(f)
tableList=document.xpath('//w:tbl', namespaces=document.nsmap)
print tableList
答案 1 :(得分:0)
我遇到了类似的问题,我必须生成一个多页文档,其中每个页面都有相同的表,但内容不同。
我继续这样做:
def _combine_docx(documents):
'''
Takes a list of docx.Documents and performs a deepcopy on the
first table in each document and adds the copies successively to
the first document in the list.
'''
if not documents or len(documents) == 0:
return docx.Document()
if len(documents) == 1:
return documents[0]
merged_document = documents[0]
p = merged_document.paragraphs[0]
for doc in documents[1:]:
doc_table = doc.tables[0]
new_tbl = deepcopy(doc_table._tbl)
p._p.addnext(new_tbl)
return merged_document