码迷,mamicode.com
首页 > 数据库 > 详细

Mysql占位符插入

时间:2019-11-23 14:26:15      阅读:83      评论:0      收藏:0      [点我收藏+]

标签:connect   mysqld   count   exchange   读取   strftime   exe   import   pass   

mysql数据执行

con.execute(insert into Login values(%s, %s) % \ (user_id, password))

con.execute(insert into Login values(%s, %s) %(user_id, password))

cursor.execute(insert into user (id, name) values (%s, %s), [1, Michael])

 

爬虫

# -*- coding: utf-8 -*-
import requests
from bs4 import BeautifulSoup
import lxml
import json
import re
import time
import tushare as ts
import pandas as pd
import pymysql
from sqlalchemy import create_engine
pymysql.install_as_MySQLdb()

def Tstockbasic(conn):
    # 调用stock_basic,获取股票代码、股票名称、所属行业、上市日期、上市场所

    cursor = conn.cursor()
    # 读取数据库已存储数据
    sql_stk_data = pd.read_sql("select ts_code from stk_basic_data",con=conn).values

    # 创建空列表,存储ts_code
    code_list = []
    incount = upcount = fincount = fupcount = 0

    stk_basic = pro.stock_basic(list_status=L, fields=ts_code,symbol,name,industry,list_date,exchange)
    for index, row in stk_basic.iterrows():
        #new_code = row[‘ts_code‘][7:]+row[‘ts_code‘][:6]
        new_code = row[ts_code]
        stk_code = row[symbol]
        stk_name = row[name]
        industry = row[industry]
        list_date = row[list_date]
        exchange = row[exchange]

        #code_list.append(new_code)
        code_list.append(new_code[7:]+new_code[:6])
        #if new_code in sql_stk_data.values:
        if new_code in sql_stk_data:
            sql = "update stk_basic_data set industry = ‘%s‘ where ts_code = ‘%s‘" %(industry,new_code)
            cursor.execute(sql)
            upcount += 1
            print(upcount)
            ‘‘‘
            try:
                cursor.execute(sql)
                upcount +=1
                print(upcount)
            except:
                fupcount +=1
            ‘‘‘
        else:
            sql = "insert into stk_basic_data(ts_code,stk_code,stk_name,industry,list_date,exchange) values(‘%s‘,‘%s‘,‘%s‘,‘%s‘,‘%s‘,‘%s‘)"%(new_code,stk_code,stk_name,industry,list_date,exchange)
            cursor.execute(sql)
            try:
                cursor.execute(sql)
                incount +=1
                print(incount)
            except:
                fincount +=1

    print("股票列表成功更新:%d 条数据,更新失败:%d条数据" % (upcount, fupcount))
    print("股票列表成功新增:%d 条数据,新增失败:%d条数据" % (incount, fincount))

    conn.commit()
    conn.close()
    return code_list

if __name__ == "__main__":
    # 设置tushare社区token
    ts.set_token(ac16b470869c5d82db5033ae9288f77b282d2b5519507d6d2c72fdd7)
    pro = ts.pro_api()

    # 创建数据库连接
    conn = pymysql.connect(host=127.0.0.1, port=3306, user=root, passwd=123456, database=quantitative_trading_data, charset=utf8)
    engine = create_engine(mysql://root:123456@127.0.0.1/quantitative_trading_data?charset=utf8)

    # 获取当前年月日,传递给各函数
    current = time.strftime("%Y%m%d", time.localtime())

    # 调用Tstockbasich获取股票列表,并完成数据更新
    code_list = Tstockbasic(conn)

 

Mysql占位符插入

标签:connect   mysqld   count   exchange   读取   strftime   exe   import   pass   

原文地址:https://www.cnblogs.com/Iceredtea/p/11917689.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!