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之永远强大的函数
Sep 14 Python
十个Python程序员易犯的错误
Dec 15 Python
Python脚本获取操作系统版本信息
Dec 17 Python
python开发简易版在线音乐播放器
Mar 03 Python
Python简单操作sqlite3的方法示例
Mar 22 Python
Python tkinter的grid布局及Text动态显示方法
Oct 11 Python
Python删除n行后的其他行方法
Jan 28 Python
python实现五子棋小程序
Jun 18 Python
python框架flask入门之环境搭建及开启调试
Jun 07 Python
关于Theano和Tensorflow多GPU使用问题
Jun 19 Python
java字符串格式化输出实例讲解
Jan 06 Python
python asyncio 协程库的使用
Jan 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
提取HTML标签
2006/10/09 PHP
PHP实现通过Luhn算法校验信用卡卡号是否有效
2015/03/23 PHP
php生成gif动画的方法
2015/11/05 PHP
Laravel中任务调度console使用方法小结
2017/05/07 PHP
根据分辨率不同,调用不同的css文件
2006/07/07 Javascript
jQuery使用之设置元素样式用法实例
2015/01/19 Javascript
JavaScript实现在标题栏上显示当前日期的方法
2015/03/19 Javascript
自定义jQuery插件方式实现强制对象重绘的方法
2015/03/23 Javascript
详解Node.js模块间共享数据库连接的方法
2016/05/24 Javascript
jQuery简单入门示例之用户校验demo示例
2016/07/09 Javascript
网站申请不到支付宝接口、微信接口,免接口收款实现方式几种解决办法
2016/12/14 Javascript
javascript设计模式之策略模式学习笔记
2017/02/15 Javascript
Angular2学习教程之ng中变更检测问题详解
2017/05/28 Javascript
浅谈React和Redux的连接react-redux
2017/12/04 Javascript
js中call()和apply()改变指针问题的讲解
2019/01/17 Javascript
vue实现固定位置显示功能
2019/05/30 Javascript
微信小程序如何实现点击图片放大功能
2020/01/21 Javascript
使用webpack5从0到1搭建一个react项目的实现步骤
2020/12/16 Javascript
Python网页解析利器BeautifulSoup安装使用介绍
2015/03/17 Python
浅析使用Python操作文件
2017/07/31 Python
MySQL适配器PyMySQL详解
2017/09/20 Python
Python文件读写保存操作的示例代码
2018/09/14 Python
pandas 转换成行列表进行读取与Nan处理的方法
2018/10/30 Python
python 一维二维插值实例
2020/04/22 Python
python中entry用法讲解
2020/12/04 Python
CSS3实现菜单悬停效果
2020/11/17 HTML / CSS
HTML5的Video标签有部分MP4无法播放的问题解析(多图)
2017/08/18 HTML / CSS
二手房购房意向书范本
2014/04/01 职场文书
园艺师求职信
2014/04/27 职场文书
党旗在我心中演讲稿
2014/09/15 职场文书
团党委领导干部党的群众路线教育实践活动个人对照检查材料思想汇
2014/10/05 职场文书
煤矿隐患排查制度
2015/08/05 职场文书
一个家长教育孩子的心得体会
2016/01/15 职场文书
Pytest实现setup和teardown的详细使用详解
2021/04/17 Python
Python操作CSV格式文件的方法大全
2021/07/15 Python
Java Spring Boot请求方式与请求映射过程分析
2022/06/25 Java/Android