openpyxlを使ってみた①

openpyxlを使ってみた。整理できていないけど、参考として記載。

import openpyxl

base_port_row    =0
base_port_column =0
wb = openpyxl.load_workbook(filename = 'sample_1.xlsx')
ws = wb.active

#test_list = [[input_1,infile,bpp,epp,hsize,vsize],[...],]
for test in ws:
    for data in test:
        if data.value == "port" :
           base_port_row    = data.row
           base_port_column = data.column
           break

inport_no_select_list = []
inport_select_list    = []
outport_no_select_list = []
outport_select_list    = []
regport_no_select_list = []
for i in range(base_port_row+1,ws.max_row+1):
    sel_num     = ws.cell(i,base_port_column-2).value
    bit_wid     = ws.cell(i,base_port_column-1).value
    port_name   = ws.cell(i,base_port_column-0).value
    file_name   = str(ws.cell(i,base_port_column-0).value) + ".bin"
    inport_select_list.append   ([port_name,file_name,  bit_wid,1,320,240,sel_num])
    inport_no_select_list.append([port_name,"empty.bin",bit_wid,1,320,240,sel_num])

for i in range(base_port_column+1,ws.max_column+1):
    reg_name    = ws.cell(base_port_row-2,i).value
    bit_wid     = ws.cell(base_port_row-1,i).value
    port_name   = ws.cell(base_port_row-0,i).value
    file_name   = str(ws.cell(base_port_row-0,i).value) + ".bin"
    outport_no_select_list.append([port_name,file_name,bit_wid,1,320,240,reg_name])
    outport_select_list.append   ([port_name,file_name,bit_wid,1,320,240,reg_name])
    regport_no_select_list.append([reg_name,0])

#peer to peer
test_list = []
input_num = 0
for i in range(base_port_row+1,ws.max_row):
    temp_in_list            = inport_no_select_list.copy()
    temp_in_list[input_num] = inport_select_list[input_num]

    output_num = 0
    for j in range(base_port_column+1,ws.max_column):
        if ws.cell(i,j).value is not None:
            temp_out_list                = outport_no_select_list.copy()
            temp_out_list[output_num]    = outport_select_list[output_num]

            temp_reg_list                = regport_no_select_list.copy()
            temp_reg_list[output_num][1] = temp_in_list[input_num][6]

            test_list.append(temp_in_list + temp_out_list + temp_reg_list)
        output_num += 1
    input_num += 1
print (test_list[0])