使用Python 批量将 CSV 数据插入 MySQL 数据库实例

1.csv数据准备,a.csv,数据样式如下:

标题,类型,封面图片链接,书籍详情链接,简介,作者,字数
斗破苍穹,玄幻,http://example.com/a.jpg, http://www.example.net/book/1212/,我是简介, 我是作者,200万字

2.创建数据库表

CREATE TABLE novel (
    id INT PRIMARY KEY AUTO_INCREMENT,
    title VARCHAR(255),
    type VARCHAR(255),
    cover_image_url VARCHAR(255),
    book_details_url VARCHAR(255),
    summary TEXT,
    author VARCHAR(255),
    word_count INT
);

3.直接运行,导入成功

import pandas as pd
import pymysql

# 读取CSV文件,clean_data/a.csv为csv文件的路径
df = pd.read_csv('clean_data/a.csv',encoding='gbk')
df = df.fillna('NULL')
# 连接到数据库,user为你数据库用户名称,password为你数据库的密码(我的密码是root),db为数据库表的名字
db = pymysql.connect(host='localhost', user='root', password='root', db='novel', charset='utf8', cursorclass=pymysql.cursors.DictCursor)

# 创建游标对象
cursor = db.cursor()

# 批量插入数据
for index, row in df.iterrows():
    # 使用 REPLACE INTO 语句来避免重复插入数据
    insert_query = f"REPLACE INTO novel_100 (title,type, cover_image_url, book_details_url, summary, author, word_count) VALUES ('{row['标题']}','{row['类型']}', '{row['封面图片链接']}', '{row['书籍详情链接']}', '{row['简介']}', '{row['作者']}', {row['字数']})"
    cursor.execute(insert_query)

# 提交更改
db.commit()

# 关闭连接
db.close()

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值