python将exce文件含有多个sheet同时l导入sqlserver数据库

python将exce文件含有多个sheet同时l导入sqlserver数据库,第1张

需要使用xlrd和MySQLdb库,可自行百度下载。

#coding:utf-8

import xlrd

import MySQLdb

data=xlrdopen_workbook(r'F:\test\baseParamxls') #读取表格db="测试" #需要 *** 作的数据

conn= MySQLdbconnect(

host='localhost',

port = 3306,

user='root',

passwd='123456',

charset='utf8'

) #连接mysql

cur=conncursor()

curexecute("drop database if exists "+db)curexecute("create database "+db)

connselect_db(db) #初始化数据

sheet_names=datasheet_names()

for sheet_name in sheet_names:

sheet=datasheet_by_name(sheet_name)

row_data=sheetrow_values(0)

row_data=' varchar(256) DEFAULT NULL, 'join(row_data)row_data=row_data+' varchar(256) DEFAULT NULL'

curexecute('create table '+sheet_name+'('+row_data+')') #数据库中创建表格ss=''

for index in range(sheetncols):

ss=ss+'%s, '

ss=ssrstrip(', ')

sql="insert "+ sheet_name+ " values(" +ss +")"param=[]

for index in range(1,sheetnrows):

row_values=sheetrow_values(index)

paramappend(row_values)

curexecutemany(sql,param) #插入数据

conncommit()

curclose()

connclose() #释放数据连接

你学习过数据库吗?

方法是多种的,这里以mysql为例!

1、用phpmyadmin,登录进去,然后查看你的数据库,插入数值,很快你就会录入完成了

2、用python *** 作数据库,这里也是mysql, 首先要安装pymsql模块,这样你就可以读取数据库了

连接数据库,查看,插入,确认完成

具体

conn=pymysqlConnect(user=username,passwd=password,database=database,charset=charset)

cur=conncursor()

curexecute('select  from table')

curexecutemany()

conncommit()

##username,password,dtabase,都是你自己数据库的设置,命令自己去学下,5分钟就会,特别是executemany可以批量执行插入,其实execute也可以

在 Python 语言环境下我们这样连接数据库。

In [1]: from mysql import connector

In [2]: cnx = connectorconnect(host="17216192100",port=3306,user="appuser",password="xxxxxx")

但是连接数据库的背后发生了什么呢?

答案

当我们通过驱动程序(mysql-connector-python,pymysql)连接 MySQL 服务端的时候,就是把连接参数传递给驱动程序,驱动程序再根据参数会发起到 MySQL 服务端的 TCP 连接。当 TCP 连接建立之后驱动程序与服务端之间会按特定的格式和次序交换数据包,数据包的格式和发送次序由 MySQL 协议 规定。MySQL 协议:>

MySQL 服务端向客户端发送一个握手包,包里记录了 MySQL-Server 的版本,默认的授权插件,密码盐值(auth-data)。

2 MySQL 客户端发出 ssl 连接请求包(如果有必要的话)。

3 MySQL 客户端发出握手包的响应包,这个包时记录了用户名,密码加密后的串,客户端属性,等等其它信息。

4 MySQL 服务端发出响应包,这个包里记录了登录是否成功,如果没有成功也会给出错误信息。

如何用python连接 tableau 数据库,然后读取数据

选择“数据”>“连接到数据”或按键盘上的 Ctrl + D。也可以在开始页面上选择“连接到数据”选项。

2 在“连接到数据”页面上,选择要连接的数据类型。也可以选择保存的数据连接(TDS 文件)打开一个 Tableau Server 数据源。

3 连接到数据的另一种方式是从工作簿导入。工作簿可以包含与不同数据源的多个连接。若要从工作簿导入连接,请在“连接到数据”对话框中单击“选择保存的连接”选项卡底部的“从工作簿导入”按钮。

尽量不要用Sybase,很难用。(不依赖Sybase的略过本答案即可)

Python-sybase项目几乎无更新。

Bug多多。

暂时没找到其他项目代替。

其实很多数据库python都可以链接使用的,看你自己擅长使用什么数据库了,如果对数据库什么的不是很了解的话就用mongodb吧,配合pymongo很好使用的,当然其他的数据库如mysqlpostgressql等等都无压力的。

先让我们回忆一下在第五章里的关于书本(book)的数据模型:

1

from djangodb import models

class Publisher(modelsModel):

name = modelsCharField(max_length=30)

address = modelsCharField(max_length=50)

city = modelsCharField(max_length=60)

state_province = modelsCharField(max_length=30)

country = modelsCharField(max_length=50)

website = modelsURLField()

def __unicode__(self):

return selfname

class Author(modelsModel):

first_name = modelsCharField(max_length=30)

last_name = modelsCharField(max_length=40)

email = modelsEmailField()

def __unicode__(self):

return u'%s %s' % (selffirst_name, selflast_name)

class Book(modelsModel):

title = modelsCharField(max_length=100)

authors = modelsManyToManyField(Author)

publisher = modelsForeignKey(Publisher)

publication_date = modelsDateField()

def __unicode__(self):

return selftitle

如我们在第5章的讲解,获取数据库对象的特定字段的值只需直接使用属性。 例如,要确定ID为50的书本的标题,我们这样做:

>>> from mysitebooksmodels import Book

>>> b = Bookobjectsget(id=50)

>>> btitle

u'The Django Book'

但是,在之前有一件我们没提及到的是表现为ForeignKey 或 ManyToManyField的关联对象字段,它们的作用稍有不同。

访问外键(Foreign Key)值

当你获取一个ForeignKey 字段时,你会得到相关的数据模型对象。 例如:

>>> b = Bookobjectsget(id=50)

>>> bpublisher

<Publisher: Apress Publishing>

>>> bpublisherwebsite

u'>

以上就是关于python将exce文件含有多个sheet同时l导入sqlserver数据库全部的内容,包括:python将exce文件含有多个sheet同时l导入sqlserver数据库、Python如何一次插入多行数据、如何使用python连接mysql数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10180540.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存