美文网首页
入门Python(数据库操作及网络访问)

入门Python(数据库操作及网络访问)

作者: helang1991 | 来源:发表于2018-10-08 23:18 被阅读14次

前沿

Python的强大已经在AI领域早已展现,作为一个高级语言,它的简洁性无语言表,爬取一个网页只需要一行代码就可以搞定,为我们节约了大量的编码工作

门槛

当然,只要你有编程经验和懂点计算机的原理,学习任何一门计算机语言都会很快。就Python来说,它本身的基本语法并不难,只要你注意代码的缩进,再会使用几个常用的函数,就可以基本入门Python了。如果你没有编程经验,我相信只要你肯花时间,学习它也不会花多少时间的

安装

可以参考https://www.liaoxuefeng.com/,当然,这个只是python的基本包的安装;如果你需要其他库的话,请注意python2.x和python3.x的区别,它们不兼容,因此遇到坑的时候,就多百度,谷歌一下了(我就是为了安装pymssql这个库,花费了很多时间,主要是本机的工具版本各种不兼容)

使用

基本语法我就不班门弄斧了,很简单。下面就是我写了一个简单的脚本

实战

目的:将数据库中的地址信息中有问题的经纬度,转换成正确的经纬度(输入地址,获取经纬度,也就是地理编码)

步骤:

1.读取Sqlserver中的有问题行的数据

2.通过高德的地理编码restful接口,获取正确的经纬度

3.最后,正确的经纬度更新到数据中

mport 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等巨头公司直接用它来做后台服务。

相关文章

  • 入门Python(数据库操作及网络访问)

    前沿 Python的强大已经在AI领域早已展现,作为一个高级语言,它的简洁性无语言表,爬取一个网页只需要一行代码就...

  • 2019-06-05 实现excel数据的导入和导出+统计报表

    with语法python 操控excelmysql数据库sql入门python 操作数据库 3-2

  • 使用Python简单进行mysql库insert select操

    用python简单的访问mysql数据库,执行insert ,select 操作。

  • python sshtunnel 简单介绍

    背景,公司的很多服务包括数据库访问都需要通过跳板机访问,为日常工作及使用带来了麻烦,特别数python直接操作数据...

  • JDBC入门

    JDBC入门 时间:20180310 1.1 简介使用java程序访问(操作)数据库(发送sql语句),这叫用到了...

  • ANR

    ANR ANR 产生的原因: 1. 主线程请求网络资源,数据库访问或者io访问,这些操作都是耗时操作,主线程处于阻...

  • Python操作MySQL

    Python操作MySQL 一. python操作数据库介绍 Python 标准数据库接口为 Python DB-...

  • Flask架站基础篇(一)--环境配置

    零、开发环境 操作系统:windows 7 及以上版本 Python 版本:3.0及以上版本 数据库:MySQL ...

  • 2018-07-04

    python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作 python3使用pym...

  • Python网络编程

    Python 提供了两个级别访问的网络服务。: 低级别的网络服务支持基本的 socket,,可以访问底层操作系统S...

网友评论

      本文标题:入门Python(数据库操作及网络访问)

      本文链接:https://www.haomeiwen.com/subject/udysaftx.html