Python读取EXCEL表结构生成DDL

一、说明

近期工作中需要对Excel维护的数据库表表结构进行Oracle的DDL整理,故编写如下脚本。
该脚本识别固定Excel文件,读取每个sheet页的数据库表结构信息后拼接成可执行的DDL语句。
注意:控制台输出的DDL语句,需要对数据类型和最后一个字段的逗号做统一替换处理。

1、EXCEL格式

for num in range(len(data_file.sheet_names())): #按照下标读取对应工作表 sheet = data_file.sheet_by_index(num) # 拼接建表语句 print("CREATE TABLE "+sheet.cell_value(1,0)+"."+sheet.cell_value(1,1)+"(") count = 0 for i in range(sheet.nrows): if count >= 1: # row = sheet.row_values(i) column_name = sheet.cell_value(i, 4) data_type = sheet.cell_value(i,6) data_type_length = sheet.cell_value(i,7) print("\t"+column_name+" "+data_type+"("+str(data_type_length)[0:-2]+"),") count += 1 print(");") count2 = 0 #拼接字段注释和表注释 for j in range(sheet.nrows): if count2 >= 1: # row = sheet.row_values(i) user_name = sheet.cell_value(1, 0) table_name = sheet.cell_value(1, 1) column_name = sheet.cell_value(j, 4) column_comment = sheet.cell_value(j, 5) print("COMMENT ON COLUMN "+user_name+"."+table_name+"."+column_name+" IS "+"'"+column_comment+"';") count2 += 1