python快速插入mysql数据库————lazyspider

并不是原创了,把知乎Ehco老哥的lazyspider拿来改了,原网站https://zhuanlan.zhihu.com/p/32159453修改了下报错、查询语句,具体看代码import pymysqlclass LazyMysql(): def __init__(self, configs): #初始化账户密码之类 self.configs = configs...
摘要由CSDN通过智能技术生成

并不是原创了,把知乎Ehco老哥的lazyspider拿来改了,原网站https://zhuanlan.zhihu.com/p/32159453

修改了下报错、查询语句,具体看代码

import pymysql
class LazyMysql():
    def __init__(self, configs):    #初始化账户密码之类
        self.configs = configs
        self.connect()

    def connect(self):               #相当于选定用户、数据库
        connection = pymysql.connect(
            host=self.configs['host'],
            user=self.configs['user'],
            password=self.configs['password'],
            db=self.configs['db'],
            charset='utf8mb4',
            cursorclass=pymysql.cursors.DictCursor
        )
        return connection

    def query(self, sql):               #输入sql语句,连接、操作sql、提交、关闭
        '''query没问题时提交返回fetchall,出问题就返回-1'''
        try:
            connection=self.connect()
            with connection.cursor() as cursor:
                cursor.execute(sql)
                connection.commit()
                res = cursor.fetchall()  #直接使用query时,可以返回table全部的值,是个list
                return res
        except Exception as e:
            raise ValueError('输入表名/列名不对!: %s' % e)
        finally:
            connection.close()

    def save_one_data(self, table,data):
        '''插入一条数据, data:dict,table:str
            列名不对,query会报错;数据有问题,报错;
            成功fetchall不会返回的'''
        fields = ''
        values = ''
        datas = {}
        
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值