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实现多线程采集的2个代码例子
Jul 07 Python
python动态参数用法实例分析
May 25 Python
浅谈Python单向链表的实现
Dec 24 Python
Python urls.py的三种配置写法实例详解
Apr 28 Python
Python递归实现汉诺塔算法示例
Mar 19 Python
Django中的ajax请求
Oct 19 Python
Python中浅拷贝copy与深拷贝deepcopy的简单理解
Oct 26 Python
Django实现学员管理系统
Feb 26 Python
python批量创建指定名称的文件夹
Mar 21 Python
Scrapy-Redis结合POST请求获取数据的方法示例
May 07 Python
教你如何编写、保存与运行Python程序的方法
Jul 12 Python
PyCharm无法识别PyQt5的2种解决方法,ModuleNotFoundError: No module named 'pyqt5'
Feb 17 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投票程序源码
2007/03/11 PHP
又一个php 分页类实现代码
2009/12/03 PHP
用PHP代替JS玩转DOM的思路及示例代码
2014/06/15 PHP
php实现比较两个文件夹异同的方法
2015/06/18 PHP
简单谈谈PHP中的Reload操作
2016/12/12 PHP
Javascript实现的鼠标经过时播放声音
2010/05/18 Javascript
jquery中ajax调用json数据的使用说明
2011/03/17 Javascript
简单的邮箱登陆的提示效果类似于yahoo邮箱
2014/02/26 Javascript
Javascript异步编程模型Promise模式详细介绍
2014/05/08 Javascript
js给网页加上背景音乐及选择音效的方法
2015/03/03 Javascript
jQuery实现行文字链接提示效果的方法
2015/03/10 Javascript
设置点击文本框或图片弹出日历控件的实现代码
2016/05/12 Javascript
JavaScript 基础函数_深入剖析变量和作用域
2016/05/18 Javascript
JavaScript实现提交模式窗口后刷新父窗口数据的方法
2017/06/16 Javascript
深入理解Vue router的部分高级用法
2018/08/15 Javascript
Vue2.x Todo之自定义指令实现自动聚焦的方法
2019/01/08 Javascript
springboot+vue+对接支付宝接口+二维码扫描支付功能(沙箱环境)
2020/10/15 Javascript
Python字符和字符值(ASCII或Unicode码值)转换方法
2015/05/21 Python
Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
2016/06/14 Python
Django视图之ORM数据库查询操作API的实例
2017/10/27 Python
python中实现将多个print输出合成一个数组
2018/04/19 Python
Python设计模式之代理模式实例详解
2019/01/19 Python
详解Python数据分析--Pandas知识点
2019/03/23 Python
Python 切分数组实例解析
2019/11/07 Python
Python: 传递列表副本方式
2019/12/19 Python
python图片合成的示例
2020/11/09 Python
只要五步 就可以用HTML5/CSS3快速制作便签贴特效(图)
2012/06/04 HTML / CSS
Sneaker Studio匈牙利:购买运动鞋
2018/03/26 全球购物
公司出纳岗位职责
2013/12/07 职场文书
高中体育教学反思
2014/01/24 职场文书
《藤野先生》教学反思
2014/02/19 职场文书
学生会部长竞聘书
2014/03/31 职场文书
2015年元旦活动总结
2014/05/09 职场文书
简单租房协议书范本
2014/08/20 职场文书
灵魂歌王观后感
2015/06/17 职场文书
使用 CSS 轻松实现一些高频出现的奇形怪状按钮
2021/12/06 HTML / CSS