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 相关文章推荐
linux系统使用python监测系统负载脚本分享
Jan 15 Python
Python内置函数Type()函数一个有趣的用法
Feb 18 Python
Python实现完整的事务操作示例
Jun 20 Python
python之从文件读取数据到list的实例讲解
Apr 19 Python
对python append 与浅拷贝的实例讲解
May 04 Python
python3实现点餐系统
Jan 24 Python
详解pyppeteer(python版puppeteer)基本使用
Jun 12 Python
python多线程并发实例及其优化
Jun 27 Python
Python 字符串处理特殊空格\xc2\xa0\t\n Non-breaking space
Feb 23 Python
tensorflow图像裁剪进行数据增强操作
Jun 30 Python
Django如何实现密码错误报错提醒
Sep 04 Python
详解python中的闭包
Sep 07 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中Cannot send session cache limiter 的问题的方法
2007/04/27 PHP
php 生成饼图 三维饼图
2009/09/28 PHP
Php中用PDO查询Mysql来避免SQL注入风险的方法
2013/04/25 PHP
CodeIgniter实现更改view文件夹路径的方法
2014/07/04 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
2017/11/14 PHP
JQuery 构建客户/服务分离的链接模型中Table中的排序分析
2010/01/22 Javascript
基于jquery的关于动态创建DOM元素的问题
2010/12/24 Javascript
jQuery实现的Email中的收件人效果(按del键删除)
2011/03/20 Javascript
三级下拉菜单的js实现代码
2011/05/23 Javascript
初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
2011/12/26 Javascript
js自调用匿名函数的三种写法(推荐)
2016/08/19 Javascript
JavaScript学习笔记整理_简单实现枚举类型,扑克牌应用
2016/09/19 Javascript
D3.js实现直方图的方法详解
2016/09/25 Javascript
JavaScript定义函数_动力节点Java学院整理
2017/06/27 Javascript
详解如何webpack使用DllPlugin
2018/09/30 Javascript
elementUI Tree 树形控件的官方使用文档
2019/04/25 Javascript
微信小程序实现锚点功能
2019/11/20 Javascript
小程序中使用css var变量(使js可以动态设置css样式属性)
2020/03/31 Javascript
javascript实现图片轮换动作方法
2020/08/07 Javascript
Django1.3添加app提示模块不存在的解决方法
2014/08/26 Python
放弃 Python 转向 Go语言有人给出了 9 大理由
2017/10/20 Python
在python中将字符串转为json对象并取值的方法
2018/12/31 Python
几个适合python初学者的简单小程序,看完受益匪浅!(推荐)
2019/04/16 Python
在pyqt5中QLineEdit里面的内容回车发送的实例
2019/06/21 Python
python删除列表元素的三种方法(remove,pop,del)
2019/07/22 Python
澳大利亚牛仔裤商店:Just Jeans
2016/10/13 全球购物
Ryderwear澳洲官网:澳大利亚高端健身训练装备品牌
2018/09/18 全球购物
波兰在线运动商店:YesSport
2020/07/23 全球购物
同步和异步有何异同,在什么情况下分别使用他们?
2012/12/28 面试题
中专毕业自我鉴定
2013/10/16 职场文书
演讲稿怎么写才完美
2014/01/02 职场文书
校三好学生主要事迹
2014/01/11 职场文书
领导班子四风对照检查材料范文
2014/09/27 职场文书
春季运动会加油词
2015/07/18 职场文书
实例讲解Python中sys.argv[]的用法
2021/06/03 Python