需求说明:
数仓建模过程中,一般会在excel中先将数仓各层的表和字段都梳理好,然后再建表和开发。该程序可以方便的利用excel中的字段名、字段类型、字段描述等信息生成HiveDDL语句
数据示例:
输出示例:
代码:
import os
import sys
import xlrd
# 要读取的excel的名称
excel_name = sys.argv[1]
# 存放ddl的目录
dir = sys.argv[2]
# 开始读取的sheet页的下标(默认要读取的sheet页是以此为分割)
num=sys.argv[3]
# 检验是否全是英文字符
def is_all_English(strs):
for _char in str(strs):
if '\u4e00' <= _char <= '\u9fa5':
return False
return True
book = xlrd.open_workbook(excel_name)
for sheet_num in range(int(num), len(book.sheets()) - 1):
# 工作sheet
sheet_index = book.sheets()[sheet_num]
if sheet_index.cell(0,0).value.strip().startswith(<