Python读取excel指定列生成指定sql脚本的方法


Posted in Python onNovember 28, 2018

需求

最近公司干活,收到一个需求,说是让手动将数据库查出来的信息复制粘贴到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()

总结

其中用到的是openpyxl这个库,个人感觉非常好用,初步写的时候参考了一下国外大佬的一篇博客,附上链接:

点我去看大佬博客

以上这篇Python读取excel指定列生成指定sql脚本的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中sets模块的用法实例
Sep 30 Python
利用Django框架中select_related和prefetch_related函数对数据库查询优化
Apr 01 Python
python itchat实现微信自动回复的示例代码
Aug 14 Python
Python连接phoenix的方法示例
Sep 29 Python
2018年Python值得关注的开源库、工具和开发者(总结篇)
Jan 04 Python
Python获取当前公网ip并自动断开宽带连接实例代码
Jan 12 Python
python中使用ctypes调用so传参设置遇到的问题及解决方法
Jun 19 Python
Python转换itertools.chain对象为数组的方法
Feb 07 Python
Python for循环搭配else常见问题解决
Feb 11 Python
Python使用re模块验证危险字符
May 21 Python
Python图像阈值化处理及算法比对实例解析
Jun 19 Python
如何在python中实现线性回归
Aug 10 Python
Python从Excel中读取日期一列的方法
Nov 28 #Python
pandas使用apply多列生成一列数据的实例
Nov 28 #Python
pandas通过loc生成新的列方法
Nov 28 #Python
python去除拼音声调字母,替换为字母的方法
Nov 28 #Python
浅谈python实现Google翻译PDF,解决换行的问题
Nov 28 #Python
python实现从pdf文件中提取文本,并自动翻译的方法
Nov 28 #Python
10分钟教你用Python实现微信自动回复功能
Nov 28 #Python
You might like
国王的咖啡这么大来头,名字的由来是什么
2021/03/03 咖啡文化
php上传图片到指定位置路径保存到数据库的具体实现
2013/12/30 PHP
PHP中PDO的事务处理分析
2016/04/07 PHP
Adnroid 微信内置浏览器清除缓存
2016/07/11 PHP
thinkPHP3.2.3实现阿里大于短信验证的方法
2018/06/06 PHP
php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)
2020/07/24 PHP
Aster vs KG BO3 第二场2.19
2021/03/10 DOTA
JavaScript中null与undefined分析
2009/07/25 Javascript
js实现弹窗插件功能实例代码分享
2013/12/12 Javascript
nodejs的10个性能优化技巧
2014/07/15 NodeJs
jQuery学习笔记之基础中的基础
2015/01/19 Javascript
jQuery实现按键盘方向键翻页特效
2015/03/18 Javascript
javascript实现table选中的行以指定颜色高亮显示的方法
2015/05/13 Javascript
jquery Easyui快速开发总结
2015/08/20 Javascript
javascript下拉列表中显示树形菜单的实现方法
2015/11/17 Javascript
jQuery中inArray方法注意事项分析
2016/01/25 Javascript
javascript实现粘贴qq截图功能(clipboardData)
2016/05/29 Javascript
js不间断滚动的简单实现
2016/06/03 Javascript
jQuery实现指定区域外单击关闭指定层的方法【经典】
2016/06/22 Javascript
微信小程序开发入门基础教程
2017/04/19 Javascript
详解刷新页面vuex数据不消失和不跳转页面的解决
2018/01/30 Javascript
深入剖析Express cookie-parser中间件实现示例
2018/02/01 Javascript
vuex管理状态仓库使用详解
2020/07/29 Javascript
django 自定义用户user模型的三种方法
2014/11/18 Python
在Python的Flask框架中验证注册用户的Email的方法
2015/09/02 Python
python事件驱动event实现详解
2018/11/21 Python
python 并发编程 多路复用IO模型详解
2019/08/20 Python
pytorch逐元素比较tensor大小实例
2020/01/03 Python
利用python在excel中画图的实现方法
2020/03/17 Python
Python+Dlib+Opencv实现人脸采集并表情判别功能的代码
2020/07/01 Python
python中return不返回值的问题解析
2020/07/22 Python
机电专业大学生职业规划书范文
2014/02/25 职场文书
优秀大专毕业生求职信
2014/08/04 职场文书
保险公司反洗钱宣传活动总结
2015/05/08 职场文书
撤诉申请怎么写
2015/05/19 职场文书
PyMongo 查询数据的实现
2021/06/28 Python