您好,登錄后才能下訂單哦!
小編給大家分享一下Python如何讀取excel指定列生成指定sql腳本,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
Python是一種跨平臺的、具有解釋性、編譯性、互動性和面向對象的腳本語言,其最初的設計是用于編寫自動化腳本,隨著版本的不斷更新和新功能的添加,常用于用于開發獨立的項目和大型項目。
需求
最近公司干活,收到一個需求,說是讓手動將數據庫查出來的信息復制粘貼到excel中,在用excel中寫好的公式將指定的兩列數據用update這樣的語句替換掉。
例如:
有個A庫,其中有兩個A.01和A.02字段,需要將這兩個字段替換到下面的sql語句中,
update A set A.01 = 'excel第一列的值' where A.02 = 'excel第二列的值'
雖然excel中公式寫好了,但是還需要將總計的那行復制粘貼到txt文檔中,所以索性太麻煩,果斷用Python寫了一個自動化的腳本,雖然查出的數據還需要手動復制excel中,但是后續操作即可用腳本完成
讀取excel指定列實現生成txt
廢話不多說直接上代碼:
#coding=utf-8 from openpyxl import load_workbook #第一套servicebus.t_spis_servicebus_svcmain表的 #讀取excel的數據 def read_excel(): #打開一個workbook wb = load_workbook(filename='xxx.xlsx') #獲取所有表格(worksheet)的名字 sheets = wb.get_sheet_names() #遍歷每一個sheet,并且拿到worksheet對象 for i in range(len(sheets)): ws = wb.get_sheet_by_name(sheets[i]) #聲明list list_A_B = [] #遍歷A,B列的所有數據值,ws.max_row:獲取最大行數 for rowNum in range(1,ws.max_row+1): if (ws.cell(row=rowNum,column=1).value != None) and (ws.cell(row=rowNum,column=2).value != None): #ws.cell(row=rowNum,column=1).value:拿到指定列的行數據 sql = 'update A set A.01=' + "'" + ws.cell(row=rowNum,column=1).value + "' " + 'where A.02=' + "'" + ws.cell(row=rowNum,column=2).value + "'"+ ';' list_A_B.append(sql) #print(list_A_B) text_save(list_A_B,'A.txt') print(str(sheets[i]) + '已完成!') print('執行成功!') #將讀取的數據存入txt文檔中 def text_save(content,filename,mode='a'): #打開文件 file = open(filename,mode) for i in range(len(content)): number = content[i] + '\n' file.write(number) file.close() if __name__ == '__main__': read_excel()
以上是“Python如何讀取excel指定列生成指定sql腳本”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。