Python webservice
来源:互联网 发布:scanner java 编辑:程序博客网 时间:2024/05/17 06:13
import pandasimport xlwtfrom suds.client import Clientimport loggingimport timedef getAirportCDsBychnName(airport_chn_name): api_url = 'http://.....MasterDataService?wsdl' # 这里是你的webservice访问地址 client = Client(api_url) params_dict = {"usrID": "MDMMASTERDATA" , "usrPwd": "MDM_CEAIR1_P2WD!" , "AIRPORT_CHN_NAME": airport_chn_name} result = client.service.queryMasterData(params_dict) AIRPORT_CDs =[] if len(result) != 0: s = str(result) c = s.count("AIRPORT_CD") for i in range(c): l = s.find("AIRPORT_CD") s = s[l:] l = s.find(" = ") s = s[l+3:] r = s.find("\n") AIRPORT_CDs.append(str(s[:r]).replace("\"" , "")) logging.info(airport_chn_name) logging.info(AIRPORT_CDs) return AIRPORT_CDsif __name__ == '__main__': FORMAT = time.strftime("[%Y-%m-%d %H:%M:%S]", time.localtime()) + "[gaosan1031]-----%(message)s------" logging.basicConfig(level=logging.INFO, format=FORMAT) city_hash = {} air_code = pandas.DataFrame(pandas.read_excel("C:/Users/liyang/Desktop/gaosan/airport_code.xlsx", sheetname=0)[:]) x = air_code.values for r in x: if pandas.notnull(r[2]) : k = str(r[2]).replace(" " , "") v = str(r[0]).replace(" " , "") ; city_hash[k] = str(v) hangxian = pandas.DataFrame(pandas.read_excel("C:/Users/liyang/Desktop/x.xlsx", sheetname=0)[:]) x = hangxian.values gaosan = xlwt.Workbook() sheet1 = gaosan.add_sheet('sheet1', cell_overwrite_ok=True) sheet1.write(0, 0, "起始日期") sheet1.write(0, 1, "终止日期") sheet1.write(0, 2, "班期") sheet1.write(0, 3, "航段") sheet1.write(0, 4, "承运方航班号") sheet1.write(0, 5, "市场方航班号") sheet1.write(0, 6, "原始航段") for i in range(len(x)): r = x[i] ft = str(r[3]).replace(" " , "").replace("—" , "-").replace("-" , "-").split("-") tu = "" for k in range(len(ft)) : v = None if city_hash.get(ft[k]): v = city_hash.get(ft[k]) if v == None: cds = getAirportCDsBychnName(ft[k]) if len(cds) == 0: logging.info(ft[k]) logging.info("一个也找不到!") elif len(cds) == 1: v = cds[0] if v == None: v = "NONE" if k != 0 : tu = tu + "-" + v else: tu = tu + v print(ft , end="******") print(tu) sheet1.write(1+i , 0 , r[0]) sheet1.write(1 + i, 1, r[1]) sheet1.write(1 + i, 2, r[2]) sheet1.write(1 + i, 3, tu) sheet1.write(1 + i, 4, r[4]) sheet1.write(1 + i, 5, r[5]) sheet1.write(1 + i, 6, r[3]) gaosan.save("C:/Users/liyang/Desktop/gaosan/re2.xls")
import pandasimport xlwtfrom suds.client import Clientimport loggingimport timehash_names = {}def getlinesByNbr(CARRIER_CD , FLT_NBR): api_url = 'http://.....PlanService?wsdl' client = Client(api_url) params_dict = { "usrID": "MDMPLAN" , "usrPwd": "MDM_CEAIR1_P2WD!" , "queryDetailInformation" : [ { "CARRIER_CD" : CARRIER_CD , "FLT_NBR": FLT_NBR } ] } result = client.service.queryPlan(params_dict) lines =[] if len(result) != 0: s = str(result) c = s.count("LINE_SERIAL") for i in range(c): l = s.find("LINE_SERIAL") s = s[l:] l = s.find(" = ") s = s[l+3:] r = s.find("\n") lines.append(str(s[:r]).replace("\"" , "")) return linesdef replacePorts(ports , air_nbr , chn_names) : ports = str(ports).replace(" " , "").replace("—" , "-").replace("-" , "-") chn_names = str(chn_names).replace(" " , "").replace("—" , "-").replace("-" , "-") if ports.count("NONE") == 0 : return ports else: ps = getlinesByNbr(air_nbr[0:2], air_nbr[2:]) p = ports.split("-") names = chn_names.split("-") for i in range(len(names)): if hash_names.get(names[i]): p[i] = hash_names.get(names[i]) noneCnt = 0 for r in p: if r == "NONE": noneCnt += 1 if noneCnt == 0: prts = p[0] for i in range(1 , len(p)): prts = prts + "-" + p[i] print(prts) return prts for row in ps: r = str(row).replace(" " , "").replace("—" , "-").replace("-" , "-").split("-") if len(r) != len(p): continue sameCnt = 0 for i in range(len(p)): if (p[i] == r[i]) and (p[i] != "NONE"): sameCnt += 1 if sameCnt == len(p) - noneCnt: for k in range(len(p)): if p[k] == "NONE": hash_names[names[k]] = r[k] print(hash_names) return row return portsif __name__ == '__main__': FORMAT = time.strftime("[%Y-%m-%d %H:%M:%S]", time.localtime()) + "[gaosan1031]-----%(message)s------" logging.basicConfig(level=logging.INFO, format=FORMAT) hangxian = pandas.DataFrame(pandas.read_excel("C:/Users/liyang/Desktop/re2.xls", sheetname=0)[:]) x = hangxian.values gaosan = xlwt.Workbook() sheet1 = gaosan.add_sheet('sheet1', cell_overwrite_ok=True) sheet1.write(0, 0, "起始日期") sheet1.write(0, 1, "终止日期") sheet1.write(0, 2, "班期") sheet1.write(0, 3, "航段") sheet1.write(0, 4, "承运方航班号") sheet1.write(0, 5, "市场方航班号") sheet1.write(0, 6, "原始航段") for i in range(len(x)): r = x[i] ports = replacePorts(r[3] , r[4] , r[6]) logging.info(r[4] + ":" + r[3] + "->" + ports) sheet1.write(1+i , 0 , r[0]) sheet1.write(1 + i, 1, r[1]) sheet1.write(1 + i, 2, r[2]) sheet1.write(1 + i, 3, ports) sheet1.write(1 + i, 4, r[4]) sheet1.write(1 + i, 5, r[5]) sheet1.write(1 + i, 6, r[6]) gaosan.save("C:/Users/liyang/Desktop/gaosan/re3.xls")
阅读全文
0 0
- Python webservice
- Python webservice
- 使用python开发WebService
- Python ZSI 访问 WebService
- python webservice hello world
- python客户端访问WebService
- Python访问WebService接口
- Python调用WebService
- python开发webservice例子
- python suds webservice
- python 访问webservice
- python 调用 webservice
- Python 测试webservice
- python调用java webservice
- python REST Webservice
- java调用python的webservice
- python使用suds调用webservice
- python使用suds调用webservice
- C之bin2rev
- yii 2.0 增删改查 分页 ajax 批删
- ubuntu下安装freeswitch1.6
- (二十五)基础系列 JSP/JSTL/EL
- msm8953之串口dts配置
- Python webservice
- Linux——高级网络控制
- python中日期转换
- springmvc 实现数据验证
- 蒙特卡罗方法入门
- 不能被扫雷程序搞崩的心态
- MAVEN配置详解
- Android全文获取context(上下文)的方法
- 三星8核S5P6818 核心板(ARM Cortex-A53架构)