入门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条评论来说两句吧...