首页 > 代码库 > python-mysql:设置数据类型初探
python-mysql:设置数据类型初探
pyton3.6,pymysql
pandas.read_csv读取的数据,保存到数据库中。发现data = http://www.mamicode.com/data.astype(float),data的数据类型还是numpy.float64。
python的数据类型,如str、Int、float等,跟写入mysql时的数据类型没有半毛钱关系。
它们是这样传递的:python的数据类型-->insert语句,转化为字符串-->转换为mysql字段的数据类型。
例如:sql = "insert into tb_name values(‘s%‘, ‘%d‘,‘%0.2f‘)" % (‘Mary‘, 24, 12000.00),传入的数据类型不相同,但是都要在里面加上单引号转为字符串,再导进mysql中。
1 import pymysql 2 import pandas as pd 3 4 dbcon = pymysql.connect(host=‘localhost‘, 5 port=3306, 6 user=‘root‘, 7 passwd=‘1234‘, 8 db=‘model_database‘ 9 ) 10 cursor = dbcon.cursor() 11 data = http://www.mamicode.com/pd.read_csv(r‘C:\Users\zhangjingyu\PycharmProjects\MyModels\knnCluster\data.csv‘) 12 13 sql1 = ‘DROP TABLE IF EXISTS cluster_data‘ 14 cursor.execute(sql1) 15 sql2 = ‘CREATE TABLE cluster_data(x FLOAT (8,6),y VARCHAR (20))‘ 16 cursor.execute(sql2) 17 18 data_mysql = [] 19 20 data_mysql = [(float(data.iloc[i, 0]), float(data.iloc[i, 1])) for i in range(data.shape[0])] 21 cursor.executemany(‘INSERT INTO cluster_data VALUES(%s,%s)‘, data_mysql) 22 try: 23 dbcon.commit() 24 print(‘success written!‘) 25 except: 26 dbcon.rollback() 27 print(‘failed written!‘) 28 finally: 29 cursor.close() 30 dbcon.close()
结果如下:
实在有必要执行其它操作,倒建议直接在SQL命令里写,自带SQL语句的补全功能。
python-mysql:设置数据类型初探
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。