我有一个单词docx,它不包含表格。每个表都有不同的行和列名称,但在所有不同的表中,“测试自动化”中的所有行名称都相同,它的值为“是或否”。在这里,我的问题是我如何计算“测试自动化”的总数没有这样的行值“TOTAL NO OF TEST AUTOMATION:yes = 200,no = 100”我正在使用python 3.6。我是python的新手,请帮助我。我的表提取和特定列提取的示例代码。
我的代码看起来像这样提取docx表
import pandas as pd
from docx.api import Document
document = Document('test_word.docx')
table = document.tables[0]
data = []
keys = None
for i, row in enumerate(table.rows):
text = (cell.text for cell in row.cells)
if i == 0:
keys = tuple(text)
continue
row_data = dict(zip(keys, text))
data.append(row_data)
print (data)
df = pd.DataFrame(data)
print(df)
答案 0 :(得分:1)
这是计算测试自动化的Yes值所需的基本逻辑。您需要处理所需的任何Pandas操作:
from docx import Document
def table_test_automation(table):
for row in table.rows:
row_heading = row.cells[0].text
if row_heading != 'Test automation':
continue
yes_no = row.cells[3].text
return 1 if yes_no == 'Yes' else 0
return 0
document = Document('test_word.docx')
yes_count = 0
for table in document.tables:
yes_count += table_test_automation(table)
print(yes_count)