将csv文件储存进数据库知识积累加实践1---------储存对象以前爬取的豆瓣top250

1.MySQL与python、pymysql

pip install pymysql

import pymysql
#链接数据库
conn = pymysql.connect(host=‘localhost’,user=‘root’,password=‘123456’,db=‘dbmovie_top250’)#host user password db
#host 为端口 #user用户 #password密码#db数据库
在这里插入图片描述
cursor = conn.cursor()#游标
当我们开启了游标功能,再去执行这条语句的时候,系统会先帮你找到这些行, 先给你存放起来,然后提供了一个游标接口。当你需要数据的时候,就借助这个游标去一行行的取出数据,你每取出一条记录,游标指针就朝前移动一次,
概括来讲,SQL的游标是一种临时的数据库对象,即可以用来存放在数据库表中的数据行副本,也可以指向存储在数据库中的数据行的指针。游标提供了在逐行的基础上操作表中数据的方法。

sql = “INSERT INTO t_top250 VALUES” + s # sql命令
cursor.execute(sql) #执行SQL语句

conn.commit() # 提交数据
cursor.close() # 关闭游标
conn.close() # 关闭数据库

数据库可视化工具建立的表格,sql语句也行在这里插入图片描述

2 .代码

import pandas as pd
import csv
import pymysql
conn = pymysql.connect(host='localhost',user='root',password='123456',db='dbmovie_top250')#host user password db
#创建游标对象
cursor = conn.cursor()
with open('../data/doubantop250.csv', 'r', encoding='utf-8') as f:
    read = csv.reader(f)
    # 一行一行地存,除去第一行和第一列
    for each in list(read)[1:]:
        i = tuple(each)
        print(i)
        # 使用SQL语句添加数据
        sql = "INSERT INTO t_top250 VALUES" + str(i) # t_top250是表的名称
      
        conn.ping(True)
        cursor.execute(sql) #执行SQL语句
    
    conn.commit() # 提交数据
    cursor.close() # 关闭游标
    conn.close() # 关闭数据库

在这里插入图片描述

3.总结

主要问题是数据库数据类型长度的优化。
在调试过程中,有时候sql语句正确但是没办法sql处理,需要关闭数据库重启
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值