入门Python(数据库操作及网络访问)
前沿
Python的强大已经在AI领域早已展现,作为一个高级语言,它的简洁性无语言表,爬取一个网页只需要一行代码就可以搞定,为我们节约了大量的编码工作
门槛
当然,只要你有编程经验和懂点计算机的原理,学习任何一门计算机语言都会很快。就Python来说,它本身的基本语法并不难,只要你注意代码的缩进,再会使用几个常用的函数,就可以基本入门Python了。如果你没有编程经验,我相信只要你肯花时间,学习它也不会花多少时间的
安装
可以参考https://www.liaoxuefeng.com/,当然,这个只是python的基本包的安装;如果你需要其他库的话,请注意python2.x和python3.x的区别,它们不兼容,因此遇到坑的时候,就多百度,谷歌一下了(我就是为了安装pymssql这个库,花费了很多时间,主要是本机的工具版本各种不兼容)
使用
基本语法我就不班门弄斧了,很简单。下面就是我写了一个简单的脚本
实战
目的:将数据库中的地址信息中有问题的经纬度,转换成正确的经纬度(输入地址,获取经纬度,也就是地理编码)
步骤:
1.读取Sqlserver中的有问题行的数据
2.通过高德的地理编码restful接口,获取正确的经纬度
3.最后,正确的经纬度更新到数据中
import pymssql import requests import json #Judge the String is "String" def is_String(s): try: float(s) return False except ValueError: pass try: import unicodedata unicodedata.numeric(s) return Flase except (TypeError, ValueError): pass return True #Get AddressInfo from AMap def getLonLat(s): url = 'https://restapi.amap.com/v3/geocode/geo' url = url + '?address='+s url = url + "&output=json&key=填写你的key" response = requests.get(url) obj=json.loads(response.text) return obj.get("geocodes")[0].get('location') #Connect SqlServer conn = pymssql.connect(host="填写你的IP",port=1433,user="用户名",password="数据库密码", database="数据库名称",charset="utf8",tds_version="7.0") cursor = conn.cursor() # execute The Query cursor.execute("SELECT scanId,longitude,ScanAddress FROM ScanData") row = cursor.fetchone() sqlArr = [] #下面这个i,不用管它,拿来计数的,因为我不想等太久了,只想处理1000次以下就可以了 i = 0 # 也可以使用for循环来迭代查询结果 # for row in cursor: # print("ID=%d, Name=%s" % (row[0], row[1])) while row: if i < 1000: if is_String(row[1]): i = i+1 arr = getLonLat(row[2]).split(',') print("lon=%s, lat=%s" % (arr[0], arr[1])) sql = "update scanData set longitude='"+arr[0]+"',latitude='"+arr[1]+"' where scanId='"+str(row[0])+"'" sqlArr.append(sql) row = cursor.fetchone() for sql in sqlArr: print(sql) cursor.execute(sql) conn.commit() # 关闭连接 conn.close()
说明
请注意,一定要注意代码的缩进,上面的代码可能由于排版的问题,会导致无法运行的。
总结
上面的代码,我只用了半天就搞定了,还包括弄环境之类的,并不是我有多么厉害,而是编码的经验多了,各类计算机语言都是相通的,并且Python的门槛真的很低,部分地方上的中小学都开始教Python的课程了(以后可能会全民编码了,哈哈哈)。当然上面的代码也是入门而已,和真正做项目还有很大的差距。Python的强大不仅是做爬虫而已,而且滴滴,Uber等巨头公司直接用它来做后台服务。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
JS正则表达式入门,看这篇就够了
前言 在正文开始前,先说说正则表达式是什么,为什么要用正则表达式?正则表达式在我个人看来就是一个浏览器可以识别的规则,有了这个规则,浏览器就可以帮我们判断某些字符是否符合我们的要求。但是,我们为什么要使用正则表达式呢?下面我们就看一下下面这个业务场景。 另外推荐一下正则表达式实例 验证QQ号的合法性 /** *合法qq号规则:1、5-15位;2、全是数字;3、不以0开头 */ //1.在不使用正则表达式的时候,我们可能会这样判断QQ号的合法性 var qq="6666666a6666"; if(qq.length>=5&&qq.length<=15&&!isNaN(qq)&&qq.charCodeAt(0)!=48){ alert("QQ合法"); }else{ alert("QQ不合法") } //2.使用正则表达式 var qq="066336"; var reg=/^[1-9][0-9]{4,14}$/; if(reg.test(qq)){ alert("Q...
- 下一篇
CSS魔法堂:那个被我们忽略的outline
前言 在CSS魔法堂:改变单选框颜色就这么吹毛求疵!中我们要模拟原生单选框通过Tab键获得焦点的效果,这里涉及到一个常常被忽略的属性——outline,由于之前对其印象确实有些模糊,于是本文打算对其进行稍微深入的研究^_^ Spec是这样描述它的 作用 用于创建可视对象的轮廓(元素的border-box),如表单按钮轮廓等。 与border不同 outline不占文档空间; outline不一定是矩形。 具体属性说明 /* 轮廓线颜色 * invert表示为颜色反转,即使轮廓在不同的背景颜色中都可见 */ outline-color: invert | <color_name> | <hex_number> | <rgb_number> | inherit /* 轮廓线样式 */ outline-style: none | dotted | dashed | solid | double | groove | ridge | inset | outset | inherit /* 轮廓线宽度 */ outline-width: medium | ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Mario游戏-低调大师作品
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Linux系统CentOS6、CentOS7手动修改IP地址