自动化处理--python读取word中表格内容

from operator import length_hint
from sqlite3 import DatabaseError
import docx
from docx import Document


path = "待处理文件.docx"
document = Document(path)  # 读入文件
tables = document.tables   # 获取文件中的表格集


tables_len = len(tables)  #获取word里面表格数量
# print("一级表格数量 : ",tables_len)
table = tables[0]  # 获取文件中的唯一一个一级表格

Services_interface = [];
Data_name = [];
Data_direction = [];
Data_type = [];

level2_tables = table.cell(1, 1).tables   #获取一个1级表格下的第(1,1)cell的所有2级表格
table_level2_num = len(level2_tables);
print("总接口数量 :",table_level2_num)   #28个
for i in range(table_level2_num):
    table_level2 = (level2_tables)[i]  #依次读取每一个二级表格
    interface = table_level2.cell(0,0).text;
    level3_tables = table_level2.cell(0,2).tables #获取一个二级表格下的第(0,2)cell的所有三级表格
    table_level3_num = len(level3_tables);  #每个二级表格下的第(0,2)cell有几个三级表
    for j in range(table_level3_num):   #有几个参数就想在接口队列里加入几个接口
        Services_interface.append(interface)
    for k in range(table_level3_num):
        table_level3 = level3_tables[k]  #依次读取每一个三级表格
        Data_name.append(table_level3.cell(0,0).text);
        Data_direction.append(table_level3.cell(0,1).text);
        Data_type.append(table_level3.cell(0,2).text);


# print(Services_interface)

from openpyxl import  Workbook 
from openpyxl import workbook
from openpyxl import load_workbook
#新建excel
wb = Workbook() # 实例化
ws = wb.active  # 激活 worksheet
###打开已有excel表格
##wb = load_workbook('../TEST.xlsx')
##ws = wb["Sheet1"]
length = len(Data_type)
print('共计 ',length,' 行接口数据')
for i in range(1,length+1,1):
    ws.cell(row=i+1, column=2, value=Services_interface[i-1])#row:行    column:列    value:内容
    ws.cell(row=i+1, column=3, value=Data_name[i-1])#row:行    column:列    value:内容
    ws.cell(row=i+1, column=4, value=Data_direction[i-1])#row:行    column:列    value:内容
    ws.cell(row=i+1, column=5, value=Data_type[i-1])#row:行    column:列    value:内容
ws.cell(row=1, column=2, value='服务接口名')# 加上标题
ws.cell(row=1, column=3, value='参数名')
ws.cell(row=1, column=4, value='参数方向')
ws.cell(row=1, column=5, value='参数类型')
wb.save('服务接口信息表格.xlsx')    
print('转换完成!')
input('回车结束')

 需要导入的模板格式大致如下:

服务名称

服务接口元素名称

服务接口元素类型

参数名称

参数发送方向

参考数据类型

备注

Seat_SWC

getDri

level

out

unit32_t

getHead***

seat**

in

Seat**

head**

out

Head**

你可能感兴趣的:(Python,python,自动化)