python腳本實現excel和mysql數據庫表的導入導出


來源:http://blog.csdn.net/christ_shl/article/details/48680269   

python腳本實現excel和mysql數據庫表的導入導出

 

excel到mysql數據庫表(僅支持.xlsx格式導入):

#!/usr/bin/env python
#coding=utf-8
import xlrd
import MySQLdb
#讀取EXCEL中內容到數據庫中
wb = xlrd.open_workbook('/×.xlsx')
sh = wb.sheet_by_index(0)
dfun=[]
nrows = sh.nrows  #行數
ncols = sh.ncols  #列數
fo=[]

fo.append(sh.row_values(0))
for i in range(1,nrows):
      dfun.append(sh.row_values(i))

conn=MySQLdb.connect(host='localhost',user='root',passwd='××××××',db='db')
cursor=conn.cursor()
#創建table
cursor.execute("create table test4("+fo[0][0]+" varchar(100));")
#創建table屬性
for i in range(1,ncols):
    cursor.execute("alter table test4 add "+fo[0][i]+" varchar(100);")
val=''
for i in range(0,ncols):
    val = val+'%s,'
print dfun

cursor.executemany("insert into resources_networkdevice values("+val[:-1]+");" ,dfun)
conn.commit()

 



mysql數據庫表到excel(僅支持.xlsx格式導出):

#!/usr/bin/env python  
#coding=utf-8  
import xlwt  
import MySQLdb  
conn=MySQLdb.connect(host='localhost',user='root',passwd='××××',db='test')  
cursor=conn.cursor()  
count = cursor.execute('select * from test1')  
print 'has %s record' % count  
#重置游標位置  
cursor.scroll(0,mode='absolute')  
#搜取所有結果  
results = cursor.fetchall()  
#測試代碼,print results  
#獲取MYSQL里的數據字段  
fields = cursor.description  
#將字段寫入到EXCEL新表的第一行  
wbk = xlwt.Workbook()  
sheet = wbk.add_sheet('test1',cell_overwrite_ok=True)  
for ifs in range(0,len(fields)):  
    sheet.write(0,ifs,fields[ifs][0])  
ics=1  
jcs=0  
for ics in range(1,len(results)+1):  
    for jcs in range(0,len(fields)):  
        sheet.write(ics,jcs,results[ics-1][jcs])  
wbk.save('×××××/Desktop/test4.xlsx')  

 

 

PS:以上腳本針對linux,測試平台為ubuntu14.04


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM