mysql数据导入python_使用Python将Excel中的数据导入到MySQL

该博客介绍了如何使用Python的xlrd库读取Excel文件,并通过MySQLdb连接MySQL数据库,将数据批量导入到指定表格中。首先,确保Python环境为2.7.x,并安装所需的库。接着,打开Excel文件,定义工作表,然后建立MySQL连接和游标。通过for循环遍历Excel数据,执行SQL插入语句,最后关闭游标和数据库连接。此过程适用于数据迁移或批量数据录入场景。
摘要由CSDN通过智能技术生成

使用Python将Excel中的数据导入到MySQL

工具

Python 2.7

xlrd

MySQLdb

安装

Python

对于不同的系统安装方式不同,Windows平台有exe安装包,Ubuntu自带。使用前请使用下面的命令确保是2.7.x版本:

python --version

xlrd :

这是一个扩Python包,可以使用pip包管理工具安装:pip install xlrd

MySQLdb

为MySQL 的Python驱动接口包,可以到http://sourceforge.net/projects/mysql-python/下载安装。在Ubuntu值哦你可以使用sudo apt-get install python-mysql安装

实现数据转移

功能很简单,直接在代码中注释了

"""

功能:将Excel数据导入到MySQL数据库

"""

import xlrd

import MySQLdb

# Open the workbook and define the worksheet

book = xlrd.open_workbook("pytest.xls")

sheet = book.sheet_by_name("source")

#建立一个MySQL连接

database = MySQLdb.connect (host="localhost", user = "root", passwd = "", db = "mysqlPython")

# 获得游标对象, 用于逐行遍历数据库数据

cursor = database.cursor()

# 创建插入SQL语句

query = """INSERT INTO orders (product, customer_type, rep, date, actual, expected, open_opportunities, closed_opportunities, city, state, zip, population, region) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)"""

# 创建一个for循环迭代读取xls文件每行数据的, 从第二行开始是要跳过标题

for r in range(1, sheet.nrows):

product = sheet.cell(r,).value

customer = sheet.cell(r,1).value

rep = sheet.cell(r,2).value

date = sheet.cell(r,3).value

actual = sheet.cell(r,4).value

expected = sheet.cell(r,5).value

open = sheet.cell(r,6).value

closed = sheet.cell(r,7).value

city = sheet.cell(r,8).value

state = sheet.cell(r,9).value

zip = sheet.cell(r,10).value

pop = sheet.cell(r,11).value

region = sheet.cell(r,12).value

values = (product, customer, rep, date, actual, expected, open, closed, city, state, zip, pop, region)

# 执行sql语句

cursor.execute(query, values)

# 关闭游标

cursor.close()

# 提交

database.commit()

# 关闭数据库连接

database.close()

# 打印结果

print ""

print "Done! "

print ""

columns = str(sheet.ncols)

rows = str(sheet.nrows)

print "我刚导入了 " %2B columns %2B " 列 and " %2B rows %2B " 行数据到MySQL!"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值