Python讀取excel指定列生成指定sql腳本的方法
需求
最近公司干活,收到一個(gè)需求,說是讓手動(dòng)將數(shù)據(jù)庫查出來的信息復(fù)制粘貼到excel中,在用excel中寫好的公式將指定的兩列數(shù)據(jù)用update這樣的語句替換掉。
例如:
有個(gè)A庫,其中有兩個(gè)A.01和A.02字段,需要將這兩個(gè)字段替換到下面的sql語句中,
update A set A.01 = 'excel第一列的值' where A.02 = 'excel第二列的值'
雖然excel中公式寫好了,但是還需要將總計(jì)的那行復(fù)制粘貼到txt文檔中,所以索性太麻煩,果斷用Python寫了一個(gè)自動(dòng)化的腳本,雖然查出的數(shù)據(jù)還需要手動(dòng)復(fù)制excel中,但是后續(xù)操作即可用腳本完成
讀取excel指定列實(shí)現(xiàn)生成txt
廢話不多說直接上代碼:
#coding=utf-8
from openpyxl import load_workbook
#第一套servicebus.t_spis_servicebus_svcmain表的
#讀取excel的數(shù)據(jù)
def read_excel():
#打開一個(gè)workbook
wb = load_workbook(filename='xxx.xlsx')
#獲取所有表格(worksheet)的名字
sheets = wb.get_sheet_names()
#遍歷每一個(gè)sheet,并且拿到worksheet對(duì)象
for i in range(len(sheets)):
ws = wb.get_sheet_by_name(sheets[i])
#聲明list
list_A_B = []
#遍歷A,B列的所有數(shù)據(jù)值,ws.max_row:獲取最大行數(shù)
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:拿到指定列的行數(shù)據(jù)
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('執(zhí)行成功!')
#將讀取的數(shù)據(jù)存入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()
總結(jié)
其中用到的是openpyxl這個(gè)庫,個(gè)人感覺非常好用,初步寫的時(shí)候參考了一下國外大佬的一篇博客,附上鏈接:
以上這篇Python讀取excel指定列生成指定sql腳本的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于Theano和Tensorflow多GPU使用問題
這篇文章主要介紹了關(guān)于Theano和Tensorflow多GPU使用問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06
Django讀取Mysql數(shù)據(jù)并顯示在前端的實(shí)例
今天小編就為大家分享一篇Django讀取Mysql數(shù)據(jù)并顯示在前端的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-05-05
Python Jupyter Notebook顯示行數(shù)問題的解決
這篇文章主要介紹了Python Jupyter Notebook顯示行數(shù)問題的解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02
Python爬蟲爬取微博熱搜保存為 Markdown 文件的源碼
這篇文章主要介紹了Python爬蟲爬取微博熱搜保存為 Markdown 文件,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02
Python3.6 + TensorFlow 安裝配置圖文教程(Windows 64 bit)
這篇文章主要介紹了Python3.6 + TensorFlow 安裝配置的教程(Windows 64 bit),本文通過圖文并茂的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02

