python输出excel指定列为⽂本格式_Python读取excel指定列
⽣成指定sql。。。
需求
最近公司⼲活,收到⼀个需求,说是让⼿动将数据库查出来的信息复制粘贴到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=' + "'" +
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)):
python怎么读取excel某一列
number = content[i] + '\n'
file.write(number)
file.close()
if __name__ == '__main__':
read_excel()
总结
其中⽤到的是openpyxl这个库,个⼈感觉⾮常好⽤,初步写的时候参考了⼀下国外⼤佬的⼀篇博客,附上链接:
以上这篇Python读取excel指定列⽣成指定sql脚本的⽅法就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持脚本之家。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。