Python将txt文件输入到MySQL数据库中

来源:互联网 发布:数据挖掘好找工作吗 编辑:程序博客网 时间:2024/06/05 18:36

数据库连接
连接数据库前,请先确认以下事项:

  • 您已经创建了数据库 TESTDB.
  • 在TESTDB数据库中您已经创建了表 EMPLOYEE
  • EMPLOYEE表字段为 FIRST_NAME, LAST_NAME, AGE, SEX 和 INCOME。
  • 连接数据库TESTDB使用的用户名为 “testuser” ,密码为 “test123”,你可以可以自己设定或者直接使用root用户名及其密码,Mysql数据库用户授权请使用Grant命令。
  • 在你的机子上已经安装了 Python MySQLdb 模块。
  • 如果您对sql语句不熟悉,可以访问我们的 SQL基础教程
#!/usr/bin/python# -*- coding: UTF-8 -*-import MySQLdb# 打开数据库连接db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )# 使用cursor()方法获取操作游标 cursor = db.cursor()# 使用execute方法执行SQL语句cursor.execute("SELECT VERSION()")# 使用 fetchone() 方法获取一条数据库。data = cursor.fetchone()print "Database version : %s " % data# 关闭数据库连接db.close()

创建数据库表
如果数据库连接存在我们可以使用execute()方法来为数据库创建表,如下所示创建表EMPLOYEE:

#!/usr/bin/python# -*- coding: UTF-8 -*-import MySQLdb# 打开数据库连接db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )# 使用cursor()方法获取操作游标 cursor = db.cursor()# 如果数据表已经存在使用 execute() 方法删除表。cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")# 创建数据表SQL语句sql = """CREATE TABLE EMPLOYEE (         FIRST_NAME  CHAR(20) NOT NULL,         LAST_NAME  CHAR(20),         AGE INT,           SEX CHAR(1),         INCOME FLOAT )"""cursor.execute(sql)# 关闭数据库连接db.close()

基本的知道后就直接粘贴源码了

#coding=utf-8import MySQLdb#MySQL的连接conn = MySQLdb.connect(                host='localhost',                port=3306,                user='root',                passwd='12345abcde',                db='test',                charset='utf8',            )cur = conn.cursor()f = open("matches.txt", "r")while True:    line = f.readline()    if line:        #处理每行\n        line = line.strip('\n')        line = line.split(":")        print line        cur.execute(            "insert into meacthdata(first_name,last_name,number1,number2) values(%s,%s,%s,%s)",            [line[0], line[1], line[2], line[3]])    else:        breakf.close()cur.close()conn.commit()conn.close()

本人菜鸟想认识志同道合之士,新创一机器学习群:540637720 欢迎加入一起学习

0 0
原创粉丝点击