python读取数据库导出文件_python如何导出excel表格数据库-如何使用python将大量数据导出到Excel中的...

mac如何通过python将大批excel数据导入mysql

操作如下:

1.首先在mysql管理上面新建一个表置表中的字段。

2.使用的mysql管理工具Navicat for MySQL,打具,选择表所在的数据库。

3.然后点击数据库名字,右键数据,出来下拉菜单选择import wizard。

4.点击next,选择对应的excel文件。

使用python将excel表中数据导入sql server数据库

一使用的第三方库

python中处理excel表常用的库有xlrd(读excel、xlwt(写excel)表、openpyxl(可读写excel表)等。xlrd读数据的excel表时效率高于openpyxl,所以我在写脚本时就采用了xlrd和xlwt这两个库。介绍及下载地址为:http://www.python-excel.org/ 这些库文件都没有提供修改现有excel表格内容的功能。一般只能将原excel中的内容读出、做完处理后,再写入一个新的excel文件。

二、常见问题

使用python处理excel表格时,发现两个个比较难缠的问题:unicode编码和excel中记录的时间。

因为python的默认字符编码都为unicode,所以打印从excel中读出的中文或读取中文名的excel表或sheet时,程序提示错误UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)。这是由于在windows中,中文使用了gb2312编码方式,python将其当作unicode和ascii来解码都不正确才报出的错误。使用VAR.encode('gb2312')即可解决打印中文的问题。(很奇怪,有的时候虽然能打印出结果,但显示的不是中文,而是一堆编码。)若要从中文文件名的excel表中读取数据,可在文件名前加‘u’表示将该中文文件名采用unicode编码。

有excel中,时间和日期都使用浮点数表示。可看到,当‘2013年3月20日’所在单元格使用‘常规’格式表示后,内容变为‘41353’;当其单元格格式改变为日期后,内容又变为了‘2013年3月20日’。而使用xlrd读出excel中的日期和时间后,得到是的一个浮点数。所以当向excel中写入的日期和时间为一个浮点数也不要紧,只需将表格的表示方式改为日期和时间,即可得到正常的表示方式。excel中,用浮点数1表示1899年12月31日。

三、常用函数

以下主要介绍xlrd、xlwt、datetime中与日期相关的函数。

import xlrd

import xlwt

from datetime

def testXlrd(filename):

book=xlrd.open_workbook(filename)

sh=book.sheet_by_index(0)

print "Worksheet name(s): ",book.sheet_names()[0]

print 'book.nsheets',book.nsheets

print 'sh.name:',sh.name,'sh.nrows:',sh.nrows,'sh.ncols:',sh.ncols

print 'A1:',sh.cell_value(rowx=0,colx=1)

#如果A3的内容为中文

print 'A2:',sh.cell_value(0,2).encode('gb2312')

def testXlwt(filename):

book=xlwt.Workbook()

sheet1=book.add_sheet('hello')

book.add_sheet('word')

sheet1.write(0,0,'hello')

sheet1.write(0,1,'world')

row1 = sheet1.row(1)

row1.write(0,'A2')

row1.write(1,'B2')

sheet1.col(0).width = 10000

sheet2 = book.get_sheet(1)

sheet2.row(0).write(0,'Sheet 2 A1')

sheet2.row(0).write(1,'Sheet 2 B1')

sheet2.flush_row_data()

sheet2.write(1,0,'Sheet 2 A3')

sheet2.col(0).width = 5000

sheet2.col(0).hidden = True

book.save(filename)

if __name__=='__main__':

testXlrd(u'你好。xls')

testXlwt('helloWord.xls')

base=datetime.date(1899,12,31).toordinal()

tmp=datetime.date(2013,07,16).toordinal()

print datetime.date.fromordinal(tmp base-1).weekday()

如何使用python将大量数据导出到Excel中的

通过python将大批excel导入mysql:

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()

如何用python将excel数据导入到postgresql数据库中

操作如下:

1.首先在mysql管理上面新建一个表置表中的字段。

2.使用的mysql管理工具Navicat for MySQL,打具,选择表所在的数据库。

3.然后点击数据库名字,右键数据,出来下拉菜单选择import wizard。

4.点击next,选择对应的excel文件。

如何使用python将大量数据导出到Excel中的小技巧

操作如下:

1.首先在mysql管理上面新建一个表置表中的字段。

2.使用的mysql管理工具Navicat for MySQL,打具,选择表所在的数据库。

3.然后点击数据库名字,右键数据,出来下拉菜单选择import wizard。

4.点击next,选择对应的excel文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值