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处理字符串之isspace()方法的使用
May 19 Python
Python中每次处理一个字符的5种方法
May 21 Python
Python的Django框架中的数据库配置指南
Jul 17 Python
OpenCV实现人脸识别
Apr 07 Python
Python多进程池 multiprocessing Pool用法示例
Sep 07 Python
Python 中pandas索引切片读取数据缺失数据处理问题
Oct 09 Python
TensorFlow tf.nn.max_pool实现池化操作方式
Jan 04 Python
Python中包的用法及安装
Feb 11 Python
python实现读取类别频数数据画水平条形图案例
Apr 24 Python
15个应该掌握的Jupyter Notebook使用技巧(小结)
Sep 23 Python
python 实现关联规则算法Apriori的示例
Sep 30 Python
Python中使用Opencv开发停车位计数器功能
Apr 04 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
PHP的历史和优缺点
2006/10/09 PHP
dede3.1分页文字采集过滤规则详说(图文教程)续四
2007/04/03 PHP
在PHP中运行Linux命令并启动SSH服务的例子
2014/06/12 PHP
ThinkPHP实现递归无级分类――代码少
2015/07/29 PHP
thinkPHP中_initialize方法实例分析
2016/12/05 PHP
PHP将身份证正反面两张照片合成一张图片的代码
2017/04/08 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
Swoole 5将移除自动添加Event::wait()特性详解
2019/07/10 PHP
IE6下CSS图片缓存问题解决方法
2010/12/09 Javascript
jcarousellite.js 基于Jquery的图片无缝滚动插件
2010/12/30 Javascript
jQuery之字体大小的设置方法
2014/02/27 Javascript
javascript删除一个html元素节点的方法
2014/12/20 Javascript
jQuery入门介绍之基础知识
2015/01/13 Javascript
再谈JavaScript异步编程
2016/01/27 Javascript
json对象转为字符串,当做参数传递时加密解密的实现方法
2016/06/29 Javascript
最常见和最有用的字符串相关的方法详解
2017/02/06 Javascript
vue路由懒加载的实现方法
2018/03/12 Javascript
AngularJs用户输入动态模板XSS攻击示例详解
2018/04/21 Javascript
关于vue的npm run dev和npm run build的区别介绍
2019/01/14 Javascript
Angular PWA使用的Demo示例
2019/01/31 Javascript
Electron vue的使用教程图文详解
2019/07/05 Javascript
关于vue2强制刷新,解决页面不会重新渲染的问题
2019/10/29 Javascript
python实现将pvr格式转换成pvr.ccz的方法
2015/04/28 Python
python实现的守护进程(Daemon)用法实例
2015/06/02 Python
Python的Tornado框架实现图片上传及图片大小修改功能
2016/06/30 Python
基于Python对象引用、可变性和垃圾回收详解
2017/08/21 Python
django框架之cookie/session的使用示例(小结)
2018/10/15 Python
Python如何爬取实时变化的WebSocket数据的方法
2019/03/09 Python
pytorch实现查看当前学习率
2020/06/24 Python
HTML5之WebGL 3D概述(下)—借助类库开发及框架介绍
2013/01/31 HTML / CSS
高中生的学习总结自我鉴定
2013/10/26 职场文书
二手书店创业计划书
2014/01/16 职场文书
学生鉴定评语大全
2014/05/05 职场文书
2015年人力资源工作总结
2015/04/08 职场文书
2019XX公司员工考核管理制度!
2019/08/07 职场文书
Qt自定义Plot实现曲线绘制的详细过程
2021/11/02 Python