20220427-day47:将csv文件的内容录入到MySQL数据库

import datetime
import pymysql


def insert_db(multi_row_list):
    # 连接指定数据
    conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='root123', charset=utf8, db=day25db)
    cursor = conn.cursor()

    # 单独增加数据
    sql = 'insert into news(nid,title,url) values(%s,%s,%s);'
    cursor.executemany(sql, multi_row_list)
    conn.commit()

    # 关闭数据库连接
    cursor.close()
    conn.close()


def run():
    with open('data.csv', mode='rt', encoding='utf-8') as file_object:
        # 批量在数据库中插入,每次最多插入10条
        part_list = []
        for line in file_object:
            nid, others = line.strip().split(,, maxsplit=1)
            title, url = others.rsplit(',', maxsplit=1)
            part_list.append([nid, title, url])
            if len(part_list) == 10:
                insert_db(part_list)
                part_list.clear()
        if part_list:
            insert_db(part_list)


if __name__ == '__main__':
    run()