#!/usr/bin/python3
# _*_coding:UTF-8 _*_
import os
#import
from openpyxl import load_workbook
from datetime import datetime
def preadd(str1, str2):
return str2+str1
def open_exl(fname):#'demo.xlsx', 'tiancheng', '', 0x0
if os.path.exists(fname):
(fn,fe) = os.path.splitext(fname)#demo.xlsx demo + .xlsx
print(fn,fe)
assert(fe == '.xlsx' or fe == '.xls')
wb=load_workbook(fname)#'demo.xlsx'
sheet=wb[sheetname]
getCsr(sheet)
else:
print("error")
def gen_err_code_header_file():
hh=os.path.join(os.getcwd(),"err_code.h".format())
print(hh)
with open(hh,'w') as fh:
content=''
content+="""/**
* @file err_code.h
* @author {}
* @brief
* @version {}
* @date {}
*
* @copyright Copyright (c) 2020
*
*/
""".format('Libra firmware team', version, datetime.today())
content+="#ifndef _ERR_CODE_H_\n#define _ERR_CODE_H_\n\n"
fh.write(content)
for i in range(len(list_err_name)):
content = '''#define {:<40} {:<10}\n'''.format(list_err_name[i],list_err_code[i].strip())
print(content)
fh.write(content)
fh.write("\n#endif")
pass
def getCsr(sheet):
max_rows = sheet.max_row + 1
for i in range(2, max_rows):
blk_name=sheet.cell(i,2).value
blk_code=sheet.cell(i,4).value
if blk_name != None:
list_err_name.append(blk_name)
list_err_code.append(blk_code)
print(list_err_name,list_err_code)
print(len(list_err_name),len(list_err_code))
gen_err_code_header_file()
sheetname='故障码'
version=1.0
list_err_code = []
list_err_name = []
proj_root='C:/work/share/flm/python/python_reg_intf/'
filename='故障码规则.xlsx'
open_exl(filename)