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 11 Python
探究Python的Tornado框架对子域名和泛域名的支持
May 02 Python
利用python写个下载teahour音频的小脚本
May 08 Python
Python测试网络连通性示例【基于ping】
Aug 03 Python
Python并发之多进程的方法实例代码
Aug 15 Python
Python2与Python3的区别实例总结
Apr 17 Python
python基于socket进行端口转发实现后门隐藏的示例
Jul 25 Python
python实现画出e指数函数的图像
Nov 21 Python
Python实现名片管理系统
Feb 14 Python
Python用K-means聚类算法进行客户分群的实现
Aug 23 Python
详解python爬取弹幕与数据分析
Nov 14 Python
基于python实现监听Rabbitmq系统日志代码示例
Nov 28 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简单静态页生成过程
2008/03/27 PHP
PHP实现格式化文件数据大小显示的方法
2015/01/03 PHP
PHP使用ffmpeg给视频增加字幕显示的方法
2015/03/12 PHP
jquery获得keycode的示例代码
2013/12/30 Javascript
js中window.open打开一个新的页面
2014/08/10 Javascript
JavaScript设计模式之外观模式实例
2014/10/10 Javascript
JavaScript设计模式之单件模式介绍
2014/12/28 Javascript
jQuery表单域选择器用法分析
2015/02/10 Javascript
js判断主流浏览器类型和版本号的简单实现代码
2016/05/26 Javascript
JS 动态加载js文件和css文件 同步/异步的两种简单方式
2016/09/23 Javascript
input获取焦点时底部菜单被顶上来问题的解决办法
2017/01/24 Javascript
Vuex模块化应用实践示例
2020/02/03 Javascript
node.js开发辅助工具nodemon安装与配置详解
2020/02/06 Javascript
nodejs实现的http、https 请求封装操作示例
2020/02/06 NodeJs
解决ant design vue 表格a-table二次封装,slots渲染的问题
2020/10/28 Javascript
[02:53]DOTA2英雄昆卡基础教程
2013/11/25 DOTA
Python isinstance判断对象类型
2008/09/06 Python
python使用两种发邮件的方式smtp和outlook示例
2017/06/02 Python
Python3.5 + sklearn利用SVM自动识别字母验证码方法示例
2019/05/10 Python
python3 反射的四种基本方法解析
2019/08/26 Python
python实现高斯(Gauss)迭代法的例子
2019/11/20 Python
Python中常用的高阶函数实例详解
2020/02/21 Python
Python使用struct处理二进制(pack和unpack用法)
2020/11/12 Python
美国知名男士服饰品牌:Brooks Brothers(布克兄弟)
2016/08/25 全球购物
应届本科生推荐信范文
2013/12/25 职场文书
开学典礼感言
2014/02/16 职场文书
关于奉献的演讲稿
2014/05/21 职场文书
学生检讨书怎么写?
2014/10/10 职场文书
专题组织生活会发言材料
2014/10/17 职场文书
满月酒邀请函
2015/01/30 职场文书
2015年惩防体系建设工作总结
2015/05/22 职场文书
2016年班主任培训心得体会
2016/01/07 职场文书
2019年怎样写好导游词?
2019/07/02 职场文书
创业计划书之健康营养产业
2019/10/15 职场文书
Python中requests做接口测试的方法
2021/05/30 Python
如何用python清洗文件中的数据
2021/06/18 Python