""" Auther:少校 Time:2025/4/18 15:17 越努力,越幸运 """ import pymysql from csv import reader # 1. 准备数据 f = open(r'D:\shaoxiao\文档\第四周sql\链家深圳二手房.csv',encoding='utf-8') r1 =reader(f) # 2. 链接数据库获取游标对象 sql1 = pymysql.connect( user='root', #用户名 password='shaoxiao', #密码 host='127.0.0.1', #IP地址 port=3306, #端口号 database='school', #默认连接数据库/多个数据库默认哪个 charset='utf8mb4', #编码 autocommit=False #是否自动提交,默认关 ) s1 = sql1.cursor() # 3. 上传数据 # 1) 准备数据(如果对应的数据库存在就切换数据库,如果不存在就创建数据库) #a.方法1 try: s1.execute('create database house default character set utf8mb4;') except pymysql.Error: print('数据库存在,已切换到指定数据库') s1.execute('use house;') #b.方法2 # s1.execute('show databases;') # names=[x[0] for x in s1.fetchall()] # if 'house' in names: # print('数据库存在,已切换到指定数据库') # s1.execute('use house;') # else: # s1.execute('create database house default character set utf8mb4;') # 2)准备数据表 如果存在就直接使用,不存在就创建 # a.手动先把表名和字段名写入 try: s1.execute(''' create table old_house( h_id int not null unique auto_increment, 地区 varchar(10), 标题 varchar(50), 小区 varchar(20), 位置 varchar(20), 单价 varchar(20), 总价 int, 户型 varchar(20), 面积 varchar(20), 朝向 varchar(20), 装修 varchar(20), primary key(h_id) ); ''') except pymysql.Error: print('该表已经存在!') # 3. 插入数据 ziduan = next(r1) names = ','.join(ziduan) fromat_str = ','.join(['%s' for x in ziduan]) s1.executemany(f'insert into old_house({names}) values ({fromat_str});',list(r1)) sql1.commit()
17.数据上传
本节1813字2025-04-18 17:10:45