使用Python從EXCEL中讀取兩列數據並存儲在列表中,然後連接數據庫,通過insert語句與列表內容相結合的方式導入數據庫;然後從數據庫中讀取表格的字段和內容,並將其存儲在新的EXCEL表格中。
以下是導入的核心代碼:
#只需按照說明進行安裝。
將win32com.client作為win32導入
導入MySQLdb
app='Excel '
#啟動EXCEL程序
XL = win32 . gen cache . ensure dispatch(' % s . Application ' % app ')
#打開相應的EXCEL文件
xlbook=win32。調度(' Excel。application '). workbooks . open(' D:\ \ pyd \ \ ops data . xls ')
#讀取EXCEL工具表,打開表導入數據。
sh=xlbook。工作表(“工作表2”)
#創建壹個空列表和兩個循環參數。
dfun=[]
jcount=2
ncount=1
#從第壹列開始向下循環,找到空的行並返回行數,即第壹個ncount行為空。
對於範圍內的ncount(1,65566):
如果噓。單元格(ncount,1)。值= =無:
破裂
否則:
繼續
#打印n計數、測試代碼、測試n計數值
#EXCEL中的數據排列為第壹行中的字段和第二行中的數據,因此循環從第二行開始,兩列數據合並為壹個列表。
#列表結構是[('a ',' b '),(' c ',' d')]
對於範圍內的jcount,ncount):
dfun.append((sh。單元格(jcount,1)。值,sh。單元格(jcount,2)。值))
#關閉EXCEL程序
#xl。應用程序.退出()
#打印dfun,測試代碼測試dfun的數據。
#創建壹個空列表fo來存儲字段,讀取EXCEL第壹行中的字段並存儲在fo中。
fo=[]
icount=1
對於範圍內的icount(1,2):
fo.append((sh。單元格(1,icount)。值,sh。單元格(1,icount+1)。值))
#測試代碼,打印輸出
#打開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命令,通過insert語句將LIST和dfun中的數據寫入數據庫。
cursor.executemany(" "插入測試值(%s,% s);""",dfun)
#確認數據操作。請註意,如果沒有命令conn.commit(),就無法將數據插入數據庫。
conn.commit()
#執行查詢以檢查結果
count = cursor . execute(' select * from test ')?
“打印”有%s條記錄“%計數”
#重置光標位置
cursor.scroll(0,mode='absolute ')
#搜索所有結果
results = cursor.fetchall()?
#測試代碼,打印結果
#獲取MYSQL中的數據字段
fields = cursor.description
#將字段寫入新EXCEL表格的第壹行
sh2=xlbook。工作表(“工作表3”)
#空白工作表3
sh2。牢房,安全
對於範圍內的if(1,len(fields)+1):
sh2。單元格(1,ifs)。值=字段[ifs-1][0]
#將讀取的數據填入相應的行和列
ics=2
jcs=1
對於範圍(2,len(結果)+2)內的IC:
對於範圍內的jcs(1,len(字段)+1):
sh2。細胞(ics,jcs)。值=結果[ics-2][jcs-1]
#關閉EXCEL程序
xl。應用程序.退出()
#關閉光標和查詢鏈接
cursor.close()
conn.close()