我有以下格式的现有Word文档。
1. Test Case Specification Identifier
[test case number] 55-01-01
[title] Login with default
[revision history]
2. Test Items
[objective]
3. Execution
[step 1] ;# Non-executable description
[step 1.1] ;# Executable Step Level 2 or more
我想打开这个word文档,并使用python使用以下值更新[目标]和[步骤]。
objective =“这是客观的”
Steps = {“ step1”:[“ step1.1”,“ step1.2”],“ step2”:[“ step2.1”]}
包含上述数据后,输出文档如下所示。
1. Test Case Specification Identifier
[test case number] 55-01-01
[title] Login with default
[revision history]
2. Test Items
[objective]
This is objective
3. Execution
[step 1] Step 1
[step 1.1] Step 1.1
[step 1.2] Step 1.2
[step 2] Step 2
[step 2.1] Step 2.1
能请你帮忙吗?
答案 0 :(得分:0)
尝试一下:
from docx import Document
import re
document = Document(docx='existing.docx')
objective = "This is objective"
steps = ["step 1", "step 1.1", "step 1.2", "step 2", "step 2.1"]
# read current document contents
for paragraph in document.paragraphs:
if '[objective]' in paragraph.text:
paragraph.text += objective
for step in steps:
indent = 1
if re.search(r"{}\]".format(step), paragraph.text):
print step, paragraph.text
if '.' in step:
indent += 1
paragraph.text = '{}[{}]\t{}'.format('\t'*indent, step, step.title())
steps.remove(step)
# add remaining steps not in existing document
for step in steps:
indent = 1
if '.' in step:
indent += 1
document.add_paragraph('{}[{}]\t{}'.format('\t'*indent, step, step.title()))
document.save('output.docx')