import pandas
import xlwt
from suds.client import Client
import logging
import 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.valuesfor 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.valuesgaosan = 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 = Noneif 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 + "-" + velse:tu = tu + vprint(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 pandas
import xlwt
from suds.client import Client
import logging
import 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 portselse: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 = 0for r in p:if r == "NONE":noneCnt += 1if noneCnt == 0:prts = p[0]for i in range(1 , len(p)):prts = prts + "-" + p[i]print(prts)return prtsfor row in ps:r = str(row).replace(" " , "").replace("—" , "-").replace("-" , "-").split("-")if len(r) != len(p):continuesameCnt = 0for i in range(len(p)):if (p[i] == r[i]) and (p[i] != "NONE"):sameCnt += 1if sameCnt == len(p) - noneCnt:for k in range(len(p)):if p[k] == "NONE":hash_names[names[k]] = r[k]print(hash_names)return rowreturn 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.valuesgaosan = 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")

Python webservice相关推荐

  1. python webservice接口测试传参数_Python3 webservice接口测试方法是什么

    Python3 webservice接口测试方法是什么 发布时间:2020-06-23 14:07:46 来源:亿速云 阅读:92 作者:清晨 不懂Python3 webservice接口测试方法是什 ...

  2. python开发webService接口给java调用

    一.python webService接口 首先系统(winds)上要有python,本人安装的是:Anaconda2-5.0.1-Windows-x86.exe,环境搭建不会请自行百度. 其次要用p ...

  3. python 数字证书模拟登录_用于生成WebService使用的数字证书及签署证书.python脚本...

    #! /bin/env python # -*- encoding:gbk -*- """ 用于生成 WebService 使用的 CA 及并且签署证书 "&q ...

  4. 关于python测试webservice接口的视频分享

    现在大公司非常流行用python做产品的测试框架,还有对于一些快速原型产品的开发也好,很好地支持OO编程,代码易读. Python的更新挺快的,尤其是第三方库. 对于测试人员,代码基础薄弱,用pyth ...

  5. python调用webservice接口实例_python调用webservice接口的实现

    使用suds这个第三方模块 from suds.client import Client url = 'http://ip:port/?wsdl' cilent=Client(url) print c ...

  6. python rpc webservice_关于RPC、HTTP、WebService的区别

    关于 REST 介绍的文章已经很多了,这里只对 RPC 部分做一个介绍: RPC(远程过程调用)是什么 简单的说,RPC就是从一台机器(客户端)上通过参数传递的方式调用另一台机器(服务器)上的一个函数 ...

  7. python使用suds来调用webservice

    对于python仅作为客户端调用webservice的情况,推荐使用suds库来完成,比起zsi,soapy之类,它可以说是相当轻量级,使用非常方便. 安装suds建议使用easy_insall来做. ...

  8. webservice python开发接口_基于Python的Webservice开发(四)-泛微OA的SOAP接口

    一.功能需求 泛微e-cology可以在流程中调用Webservice接口实现与其他系统的联动等复杂功能.但是目前泛微文档中仅提供了调用的方法,但是没有关于接口的相关开发信息. 本次案例是用Pytho ...

  9. python调用webservice接口实例_python调用各种接口,webservice,c接口,com接口,socket协议方法...

    python调用webservice接口(SOAP) (2)调用示例: 需要先安装suds库:pip install suds from suds.client import Client #如果需要 ...

最新文章

  1. qtcreator版本_【IDE】ROS开发环境之Qt Creator的安装与配置
  2. 最佳Linux服务器发行版
  3. stringwriter_Java StringWriter getBuffer()方法与示例
  4. Java—抽象类和接口的区别
  5. 查询oracle数据库里面所有的表名
  6. 微软推出新编程语言 Bosque,超越结构化程序设计
  7. clone远程代码 在不同电脑上git_如何使用git在本地电脑clone别人的github上的远程仓库代码...
  8. windows ios android的架构_什么便签备忘录软件横跨Windows、iOS和Android - 学显
  9. mongodb官网文档阅读笔记:write concern
  10. DataGridView绑定list的注意事项
  11. 从头开发一个Flutter插件(一)开发流程
  12. 【老牌系统】如何增大C盘空间
  13. DevOps及DevOps常用的工具介绍
  14. 如何通过安全的网络防御XcodeGhost?
  15. android iphone滑动解锁,苹果iOS10锁屏详解:“滑动来解锁”已成为过去
  16. python图片表格转excel表格_python提取图片内容并转换成对应表格的markdown代码
  17. 蚂蚁金服测试开发实习面经
  18. word如何弄成两竖列_Word中怎么将文字改成竖排显示
  19. 使用Ps为图像批量制作水印
  20. R数据分析:cox模型如何做预测,高分文章复现

热门文章

  1. debezium怎么实现全量表和binlog的无缝对接
  2. php怎么对接wordpress,wordpress 无缝对接php页面
  3. 华为到底算不算是一份好工作?看完你们还会羡慕华为的高薪吗?
  4. 《JavaScript设计模式》读后感 觉很复杂
  5. JAVA美食预定推荐系统
  6. Win10驱动安装失败:提示“数据无效”或“安装错误”或其它原因的解决方法
  7. Hexo,创建属于你自己的博客
  8. SpringBoot初级学习笔记--稀客大大
  9. Spring MVC工作流程图
  10. 公司笔试题练习AWS