加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python连接Mysql获取数据写入excel

发布时间:2020-12-20 10:50:57 所属栏目:Python 来源:网络整理
导读:? 共涉及到三个库: 1. pymysql 操作数据库 2. xlwt 操作Excel 3. requests 请求接口数据进行数据解析筛选 # !/usr/bin/env python3 # -*- coding:utf-8 -*- import pymysql import requests import time import xlwtbook = xlwt.Workbook()sheet = book.add

?

共涉及到三个库:

1. pymysql 操作数据库

2. xlwt 操作Excel

3. requests 请求接口数据进行数据解析筛选

#!/usr/bin/env python3
# -*- coding:utf-8 -*-

import pymysql
import requests
import time
import xlwt

book = xlwt.Workbook()
sheet = book.add_sheet("weather")

header = {"user-agent":{*******},}
conn = pymysql.connect(
    host=hostAddress,user = test,password = pw,db = testdb,charset = utf8
)
cur = conn.cursor()

select_sqli = "select Code from map group by Code;"
result = cur.execute(select_sqli)

print(result)
# info = cur.fetchall()
# info = cur.fetchmany(20)
weather=[]
row = 0
cur.scroll(600,mode="absolute")
for i in range(0,10):
    info = cur.fetchone()
    for element in info:
        url = "https://*******?city=" + element
        header.update(city = element)
        header.update(timestamp = str(int(time.time())))
        rd = dict(requests.get(headers = header,url=url).json()["weather"])

    if "weather" in rd.keys():
        weather.append(rd["weather"])
        rd.update(code = element)

        if i == 0:
            j = 0
            for k in rd:
                sheet.write(0,j,k)
                sheet.write(1,rd[k])
                j+=1
            row+=2

        else:
            if weather[i] in weather[0:i]:
                pass
            else:
                j =  0
                for k in rd:
                    sheet.write(row,rd[k])
                    j+=1
                row+=1
    else:
        weather.append("Null")


cur.close()
conn.close()
book.save("test.xls")

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读