• ">从关系型数据库Mysql读取数据

    关系型数据库:
    采用了关系模型(二维表格模型)来组织数据的数据库;事务的一致性.关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
    Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL
    优点:容易理解,使用方便,便于维护

    非关系型数据库:
    1.使用键值对存储数据;
    2、分布式;
    3、一般不支持ACID特性;
    4、非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合。
    非关系型数据库的优点
    1、无需经过sql层的解析,读写性能很高;
    2、基于键值对,数据没有耦合性,容易扩展;
    3、存储数据的格式:nosql的存储格式是key,value形式、文档形式、图片形式等等
    NoSql、Cloudant、MongoDb、redis、HBase

    从关系型数据库Mysql读取数据

    封装函数:

    1. def function(sqli):
    2. import pymysql
    3. import pandas as pd
    4. config={'host':'localhost', #默认localhost==127.0.0.1
    5. 'user':'root', # 用户名
    6. 'password':'password', #密码
    7. 'port':3306, #端口.默认3306
    8. 'database':'train', #数据库名字
    9. 'charset':'utf8' #字符编码
    10. }
    11. # 查询语句
    12. sql='SELECT * FROM %s'%(sqli)
    13. # 使用配置参数创建连接
    14. conn=pymysql.connect(**config)
    15. #用连接获得游标
    16. cursor=conn.cursor()
    17. #用游标执行SQL语句
    18. cursor.execute(sql)
    19. #通过fetchall获取数据
    20. data=cursor.fetchall()
    21. # 获取字段属性
    22. col=cursor.description
    23. #遍历数据的前5条
    24. df=pd.DataFrame(list(data))
    25. col_name=[]
    26. for i in range(len(col)):
    27. col_name.append(col[i][0])
    28. df.columns=col_name
    29. print(df)
    30. #关闭游标
    31. cursor.close()
    32. #关闭连接
    33. conn.close()
    34. function('distribute')

    直接读取mysql:

    1. import pymysql
    2. import pandas as pd
    3. #创建连接
    4. con=pymysql.connect(host='localhost',user='root',password='password',db='train')
    5. # 读取数据,执行SQL语句
    6. data=pd.read_sql('select * from distribute',con)
    7. data.head()

    2.json获取解析(json.loads)
    导入请求数据库,导入json包
    请求地址:url:
    请求数据:res=request.get(url%())
    返回信息;数据信息格式:,res.txt
    json 解析: json.loads(返回的数据)

    1. import requests #倒入库
    2. import json
    3. #定义地址
    4. add='九王坟'
    5. #创建访问应用时获取的AK(秘钥)
    6. mykey='DdOyOKo0VZBgdDFQnyhINKYDGkzBkuQr'
    7. #请求地址api应用程序接口 geocoder 地理
    8. url = 'http://api.map.baidu.com/geocoder/v2/?address=%s&output=json&ak=%s'
    9. # 获取返回请求
    10. res=requests.get(url% (add,mykey))
    11. #返回文本信息
    12. add_info=res.text
    13. print(add_info)
    14. add_json=json.loads(add_info)
    15. add_json

    3.xml 获取解析(Etree.fromstring)

    • XML是Extensible Markup Language的缩写,中文名称是可扩展标记语言。xml和html类似,xml可以使用标记来对数据进行描述,xml的宗旨是传输数据,需要自定义标签
      1. import requests
      2. import xml.etree.ElementTree as Etree
      3. url='http://api.map.baidu
      4. .com/geocoder/v2/?address=%s&output=xml&ak=%s'
      5. res=requests.get(url %(add,mykey))
      6. add_info=res.text
      7. root=Etree.fromstring(add_info)
      8. print(add_info)
      4.时间格式的四种转化方式
      pd.datime.stmptime()
      pd.to_datetime()
      df.astype()
      parser.parse()