python脚本从excel表到处数据,生成指定格式的文件 - 在线留言 - 南充市顺庆区小房子和树婚礼策划部
当前位置:首页 > 在线留言 >

python脚本从excel表到处数据,生成指定格式的文件

编辑:南充市顺庆区小房子和树婚礼策划部时间:2017-09-08 23:05:00阅读次数:2
python脚本从excel表到处数据,生成指定格式的文件


#coding:gbk
#导入处理excel的模块
import xlrd

#定义哪些字段需要判断,只支持时间字段
toSureColArray = ['CREATE_TIME','MODIFY_TIME']

#确定某个字段是否在数组中
def isColInArray(colName, colArray):
for i in range(0, len(colArray)):
if (colName == colArray[i]):
return 1
else:
return 0
#定义子sheet字段属性映射处理函数
#入参为文件描述符、、源表列字段、和目表列字段
def childSheetColFunc(fOutput, sourceTabCol, destTabCol,destTableSureArray):
for i in range(2,len(sourceTabCol)):
if len(destTabCol[i]) != 0:
if len(sourceTabCol[i]) != 0:
#在子表中,如果浪潮int_id对应的直真字段英文名称为空,在destTableSureArry不存在INT_ID属性
destTableSureArray.append(str(destTabCol[i]).upper())
fOutput.write("\t\t\t\t\tA."+str(sourceTabCol[i]).upper()+" "+str(destTabCol[i]).upper()+",\n")
else:
continue
else:
continue
#for i in range(0,len(destTableSureArray)):
# print("******************")
# print(str(destTableSureArray[i]))
# print("******************")
#对creat_time和modify_time做单独处理
for i in range(0,len(toSureColArray)):
if isColInArray(toSureColArray[i],destTableSureArray) == 0:
fOutput.write("\t\t\t\t\tSYSDATE "+toSureColArray[i]+",\n")
destTableSureArray.append(toSureColArray[i])


#定义子sheet目标数据插入函数主键模块
#入参为文件描述符、源表列字段、目表源字段
def childSheetColDesKeyFunc(fOutput, sourceTabCol, destTabCol):
#如果为空表,此处会报下标溢出错误,所以入参必须保证表中有数据
if len(sourceTabCol[2]) != 0:
fOutput.write("\t\t\t\t["+str(destTabCol[2]).upper()+"]\n")
fOutput.write("\t\t\t\t[STATEFLAG]\n")
#定义子sheet目标函数插入函数非主键模块
def childSheetColDesNKeyFunc(fOutput, sourceTabCol, destTableSureArray):
if len(sourceTabCol[2]) != 0:
for i in range(1,len(destTableSureArray)):
fOutput.write("\t\t\t\t["+destTableSureArray[i]+"]\n")
else:
for i in range(0,len(destTableSureArray)):
fOutput.write("\t\t\t\t["+destTableSureArray[i]+"]\n")

#定义子sheet处理函数
def childSheetFunc(sheetName, sourceTable, destTable):
#根据sheet名打开表
shtInstance=workBook.sheet_by_name(sheetName)
#存放最终哪些浪潮字段需要映射
destTableSureArray = []
langchaoTabCol=shtInstance.col_values(4)
zhizhenTabCol=shtInstance.col_values(6)
print("***********现在开始生成"+str(destTable).upper()+".xml 文件***********")
path="e:\\"+destTable.upper()+".xml"
fOutput=open(path,"w")
fOutput.write("\n")
fOutput.write("\n")
fOutput.write("\t\n")
fOutput.write("\t\t\n")
fOutput.write("\t\t\t\n")
fOutput.write("\t\t\n")
fOutput.write("\t\t>>>>>开始生成第"+str(curNum)+"个文件")
childSheetFunc(sheetName[i], sourceTabName[i], destTabName[i])

#入口函数
if __name__=="__main__":
workBook=xlrd.open_workbook("E:\\内线比对模型.xls")
mainSheet=workBook.sheets()[0]
mainSheetAndProc(mainSheet)




,站群

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:武汉网站建设公司 https://www.jingchucn.com/zt/wuhan_wangzhanjianshe/

上一篇:站长创业新主张:小而精赚钱胜过大而全 下一篇:最后一页

相关阅读