python-mysql:设置数据类型初探

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-mysql:设置数据类型初探相关的知识,希望对你有一定的参考价值。

  pyton3.6,pymysql

  pandas.read_csv读取的数据,保存到数据库中。发现data = 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 = pd.read_csv(rC:\\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()
View Code

  结果如下:

  技术分享

  实在有必要执行其它操作,倒建议直接在SQL命令里写,自带SQL语句的补全功能。

以上是关于python-mysql:设置数据类型初探的主要内容,如果未能解决你的问题,请参考以下文章

Python-MySQL数据库

Python-mySql操作

python-mysql超简单银行转账Model(我说了很简单的)

在 Mac OS 10.6.6 中使用 python-mysql 配置 django 时出错

Python-MySQL行(记录)详细操作

Python-MySQL数据库