通过python将大批excel数据导入mysql:
10年积累的成都网站建设、做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有抚顺免费网站建设让你可以放心的选择与我们合作。
利用Python从EXCEL中读取两列数据存储在LIST中然后连接数据库利用insert语句和LIST 内容结合,导入数据库;然后再从数据库读取表的字段和内容,存放到EXCEL新表中即可。
以下的导入的核心代码:
#按照说明安装即可
import win32com.client as win32
import MySQLdb
app='Excel'
#启动EXCEL程序
xl=win32.gencache.EnsureDispatch('%s.Application' % app)
#打开相应的EXCEL文件
xlbook=win32.Dispatch('Excel.Application').Workbooks.Open('D:\\pyd\\opsdata.xls')
#读取EXCEL工具表,打开要导入数据的表
sh=xlbook.Worksheets('sheet2')
#建立一个空LIST和两个循环参数
dfun=[]
jcount=2
ncount=1
#从第一列开始向下循环,找到为空的那一行返回行数,即为第ncount行为空
for ncount in range(1,65566):
if sh.Cells(ncount,1).Value==None:
break
else:
continue
#print ncount,测试代码,测试ncount值
#EXCEL的数据安排为第一行是字段,第二行开始是数据,故从第2行开始循环,将两列数据合并到一个LIST中
#LIST结构为[('a','b'),('c','d')]
for jcount in range(2,ncount):
dfun.append((sh.Cells(jcount,1).Value,sh.Cells(jcount,2).Value))
#关闭EXCEL程序
#xl.Application.Quit()
#print dfun,测试代码测试dfun的数据
#建立一个空LIST fo用来存放字段,读取EXCEL中第一行的字段存储到fo中
fo=[]
icount=1
for icount in range(1,2):
fo.append((sh.Cells(1,icount).Value,sh.Cells(1,icount+1).Value))
#测试代码,print fo
#打开MYSQL链接
conn=MySQLdb.connect(host='localhost',user='root',passwd='0.789asd',db='python')
#获取游标操作
cursor=conn.cursor()
#建立一个空表
cursor.execute("create table test("+fo[0][0]+" varchar(100),"+fo[0][1]+" varchar(100));")
#利用executemany命令,将LIST,dfun中的数据通过insert语句写入数据库
cursor.executemany("""insert into test values(%s,%s);""" ,dfun)
#确认数据操作,注意如果没有conn.commit()这个命令,数据无法被插入到数据库中
conn.commit()
#执行查询检查结果
count = cursor.execute('select * from test')
print 'has %s record' % count
#重置游标位置
cursor.scroll(0,mode='absolute')
#搜取所有结果
results = cursor.fetchall()
#测试代码,print results
#获取MYSQL里的数据字段
fields = cursor.description
#将字段写入到EXCEL新表的第一行
sh2=xlbook.Worksheets('sheet3')
#清空sheet3
sh2.Cells.Clear
for ifs in range(1,len(fields)+1):
sh2.Cells(1,ifs).Value=fields[ifs-1][0]
#将读取的数据填入到相应的行列中
ics=2
jcs=1
for ics in range(2,len(results)+2):
for jcs in range(1,len(fields)+1):
sh2.Cells(ics,jcs).Value=results[ics-2][jcs-1]
#关闭EXCEL程序
xl.Application.Quit()
#关闭游标和查询链接
cursor.close()
conn.close()
下载MySQL安装包,如果是第一次安装,建议下载DMG安装包
打开DMG安装包,双击安装包里的PKG文件
一路点击“继续”,最后点击“完成”
安装完成后,打开“系统偏好设置”,可以看到多处一个MySQL图标,
点击“MySQL”图标,在弹出的界面中,我们注意到MySQL已经启动,并且是开机自启动。
安装好后,最好再创建能在终端中直接使用的MySQL快捷命令。
打开终端,输入命令:
sudo vim /etc/bashrc
在bashrc中添加创建别名的命令:
alias mysql '/usr/local/mysql/bin/mysql'
alias mysqladmin '/usr/local/mysql/bin/mysqladmin'
编辑完后,需要使用“wq!”命令强制保存内容。
重启终端,然后设置MySQL的root帐号,输入命令
mysqladmin -u root password 123456
PS:
在执行上述命令时可能报错:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
如果碰到,可参考《connect to server at 'localhost' failed》
1、单击左上角苹果图标 系统偏好设置 MySQL start MySQL server,
2、开启本机的MySQL数据库服务,如下图:
3、打开终端,输入如下命令:/usr/local/MySQL/bin/mysql -u root -p,其中,root为数据库用户名。
4、界面提示输入密码:Enter password:若为初次使用该数据库,则默认密码为空,直接回车即可进入mysql命令行;若已设置密码,则输入数据库密码后,回车,即可进入mysql命令行。
5、假设远程主机的IP为:23.106.134.88,用户名为root,密码为123456,打开终端,输入如下命令:mysql -h 23.106.134.88 -u root -p 123456。
6、界面提示输入密码:Enter password:若为初次使用该数据库,则默认密码为空,直接回车即可进入mysql命令行;若已设置密码,则输入密码后,回车,即可进入mysql命令行,如下图:
7、退出mysql命令行:输入退出命令:exit,再回车即可。
方法/步骤
1:下载MySQL安装包,如果是第一次安装,建议下载DMG安装包
2:打开DMG安装包,双击安装包里的PKG文件
3:一路点击“继续”,最后点击“完成”
4:安装完成后,打开“系统偏好设置”,可以看到多处一个MySQL图标,
5:点击“MySQL”图标,在弹出的界面中,我们注意到MySQL已经启动,并且是开机自启动。
6:安装好后,最好再创建能在终端中直接使用的MySQL快捷命令。
打开终端,输入命令:
sudo vim /etc/bashrc
7:在bashrc中添加创建别名的命令:
alias mysql '/usr/local/mysql/bin/mysql'
alias mysqladmin '/usr/local/mysql/bin/mysqladmin'
编辑完后,需要使用“wq!”命令强制保存内容。
8:重启终端,然后设置MySQL的root帐号,输入命令
mysqladmin -u root password 123456
PS:
在执行上述命令时可能报错:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
如果碰到,可参考《connect to server at 'localhost' failed》
0connect to server at 'localhost' failed