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基础教程之基本数据类型和变量声明介绍
Aug 29 Python
跟老齐学Python之做一个小游戏
Sep 28 Python
Python标准库之itertools库的使用方法
Sep 07 Python
Python 判断是否为质数或素数的实例
Oct 30 Python
python学习笔记之列表(list)与元组(tuple)详解
Nov 23 Python
分析python切片原理和方法
Dec 19 Python
理解python中生成器用法
Dec 20 Python
python中的变量如何开辟内存
Jun 26 Python
Django中使用第三方登录的示例代码
Aug 20 Python
Python pandas实现excel工作表合并功能详解
Aug 29 Python
django model通过字典更新数据实例
Apr 01 Python
Python调用JavaScript代码的方法
Oct 27 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 常用类汇总 推荐收藏
2010/05/13 PHP
PHP中把对象转换为关联数组代码分享
2015/04/09 PHP
详谈php中 strtr 和 str_replace 的效率问题
2017/05/14 PHP
MSN消息提示类
2006/09/05 Javascript
IE DOM实现存在的部分问题及解决方法
2009/07/25 Javascript
客户端js性能优化小技巧整理
2013/11/05 Javascript
javascript中字符串拼接详解
2014/09/26 Javascript
jQuery实现的数值范围range2dslider选取插件特效多款代码分享
2015/08/27 Javascript
JavaScript实现输入框(密码框)出现提示语
2016/01/12 Javascript
javascript中eval解析JSON字符串
2016/02/27 Javascript
jquery实现全选、不选、反选的两种方法
2016/09/06 Javascript
基于Angular.js实现的触摸滑动动画实例代码
2017/02/19 Javascript
js实现图片旋转 js滚动鼠标中间对图片放大缩小
2017/07/05 Javascript
vue项目中使用Hbuilder打包app 设置沉浸式状态栏的方法
2018/10/22 Javascript
vue项目使用高德地图的定位及关键字搜索功能的实例代码(踩坑经验)
2020/03/07 Javascript
package.json中homepage属性的作用详解
2020/03/11 Javascript
从表单校验看JavaScript策略模式的使用详解
2020/10/17 Javascript
[48:23]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第一局
2016/03/05 DOTA
低版本中Python除法运算小技巧
2015/04/05 Python
详解Python在七牛云平台的应用(一)
2017/12/05 Python
python实现多层感知器MLP(基于双月数据集)
2019/01/18 Python
python爬取酷狗音乐排行榜
2019/02/20 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
2019/06/21 Python
Python: tkinter窗口屏幕居中,设置窗口最大,最小尺寸实例
2020/03/04 Python
python中reload重载实例用法
2020/12/15 Python
如何利用python 读取配置文件
2021/01/06 Python
pycharm 如何取消连按两下shift出现的全局搜索
2021/01/15 Python
基于css3的属性transition制作菜单导航效果
2015/09/01 HTML / CSS
巴西男士胡须和头发护理产品商店:Beard
2017/11/13 全球购物
创意爱尔兰礼物:Creative Irish Gifts
2020/01/29 全球购物
儿科主治医生个人求职信
2013/09/23 职场文书
丑小鸭教学反思
2014/02/03 职场文书
财会专业毕业生自荐信
2014/07/09 职场文书
个人总结怎么写
2015/02/26 职场文书
英语导游欢迎词
2015/09/30 职场文书
2016入党心得体会范文
2016/01/06 职场文书