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选择排序、冒泡排序、合并排序代码实例
Apr 10 Python
Python监控主机是否存活并以邮件报警
Sep 22 Python
python生成验证码图片代码分享
Jan 28 Python
浅析Python中的getattr(),setattr(),delattr(),hasattr()
Jun 14 Python
Python中shutil模块的学习笔记教程
Apr 04 Python
对Python中的@classmethod用法详解
Apr 21 Python
python自动截取需要区域,进行图像识别的方法
May 17 Python
Python类的继承用法示例
Jan 31 Python
使用PyQt4 设置TextEdit背景的方法
Jun 14 Python
python 实现在shell窗口中编写print不向屏幕输出
Feb 19 Python
django 连接数据库出现1045错误的解决方式
May 14 Python
如何利用Python matplotlib绘制雷达图
Dec 21 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
现磨咖啡骗局!现磨咖啡=新鲜咖啡?现磨咖啡背后的猫腻你不懂!
2019/03/28 冲泡冲煮
基于OpenCV的PHP图像人脸识别技术
2009/10/11 PHP
PHP实现腾讯与百度坐标转换
2017/08/05 PHP
二级域名转向类
2006/11/09 Javascript
JavaScript面向对象编程
2008/03/02 Javascript
DHTML Slide Show script图片轮换
2008/03/03 Javascript
利用NodeJS的子进程(child_process)调用系统命令的方法分享
2013/06/05 NodeJs
Jquery操作js数组及对象示例代码
2014/05/11 Javascript
JS实现新浪博客左侧的Blog管理菜单效果代码
2015/10/22 Javascript
基于javascript实现全屏漂浮广告
2016/03/31 Javascript
JavaScript闭包实例详解
2016/06/03 Javascript
AngularJS入门教程之ng-checked 指令详解
2016/08/01 Javascript
详解vue之页面缓存问题(基于2.0)
2017/01/10 Javascript
js 毫秒转天时分秒的实例
2017/11/17 Javascript
使用jquery的cookie实现登录页记住用户名和密码的方法
2019/03/13 jQuery
详解实现一个通用的“划词高亮”在线笔记功能
2019/04/23 Javascript
[01:09]DOTA2次级职业联赛 - ishow.HMM战队宣传片
2014/12/01 DOTA
[01:04:31]DOTA2-DPC中国联赛定级赛 iG vs Magma BO3第二场 1月8日
2021/03/11 DOTA
将字典转换为DataFrame并进行频次统计的方法
2018/04/08 Python
python实现flappy bird游戏
2018/12/24 Python
Dlib+OpenCV深度学习人脸识别的方法示例
2019/05/14 Python
python智联招聘爬虫并导入到excel代码实例
2019/09/09 Python
pytorch中图像的数据格式实例
2020/02/11 Python
Python bisect模块原理及常见实例
2020/06/17 Python
美国网上眼镜商城:Zenni Optical
2016/11/20 全球购物
美国最大的网络男装服装品牌:Bonobos
2017/05/25 全球购物
美国首屈一指的礼品篮供应商:GiftTree
2018/01/06 全球购物
为什么group by 和order by会使查询变慢
2014/05/16 面试题
经验丰富大学生村干部自我鉴定
2014/01/22 职场文书
外联部演讲稿
2014/05/24 职场文书
乡镇党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
社区活动总结
2015/02/04 职场文书
学校国庆节活动总结
2015/03/23 职场文书
PyTorch 如何自动计算梯度
2021/05/23 Python
KVM基础命令详解
2022/04/30 Servers
MySQL外键约束(Foreign Key)案例详解
2022/06/28 MySQL