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访问MySQL封装的常用类实例
Nov 11 Python
Python的Flask框架中实现登录用户的个人资料和头像的教程
Apr 20 Python
python操作oracle的完整教程分享
Jan 30 Python
Python基于递归实现电话号码映射功能示例
Apr 13 Python
Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)
Apr 30 Python
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
Apr 26 Python
python set集合使用方法解析
Nov 05 Python
jupyter实现重新加载模块
Apr 16 Python
Python matplotlib画图时图例说明(legend)放到图像外侧详解
May 16 Python
基于Python 的语音重采样函数解析
Jul 06 Python
Python数据可视化之绘制柱状图和条形图
May 25 Python
在 Python 中利用 Pool 进行多线程
Apr 24 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
Godaddy空间Zend Optimizer升级方法
2010/05/10 PHP
PHP实现通过中文字符比率来判断垃圾评论的方法
2014/10/20 PHP
PHP将字符分解为多个字符串的方法
2014/11/22 PHP
PHP定义字符串的四种方式详解
2018/02/06 PHP
PHP的HTTP客户端Guzzle简单使用方法分析
2019/10/30 PHP
在Laravel中使用MongoDB的方法示例
2019/11/11 PHP
namespace.js Javascript的命名空间库
2011/10/11 Javascript
利用javascript实现全部删或清空所选的操作
2014/05/27 Javascript
自定义require函数让浏览器按需加载Js文件
2016/11/24 Javascript
jQuery中值得注意的trigger方法浅析
2016/12/12 Javascript
JS 实现 ajax 异步浏览器兼容问题
2017/01/21 Javascript
echarts实现折线图的拖拽效果
2019/12/19 Javascript
JS对象属性的检测与获取操作实例分析
2020/03/17 Javascript
Vue初始化中的选项合并之initInternalComponent详解
2020/06/11 Javascript
javascript自定义加载loading效果
2020/09/15 Javascript
[05:09]DOTA2-DPC中国联赛2月22日Recap集锦
2021/03/11 DOTA
python 字符串格式化代码
2013/03/17 Python
Python决策树分类算法学习
2017/12/22 Python
dataframe 按条件替换某一列中的值方法
2019/01/29 Python
对pyqt5中QTabWidget的相关操作详解
2019/06/21 Python
Python 函数list&read&seek详解
2019/08/28 Python
python实现图片上添加图片
2019/11/26 Python
python如何实现不可变字典inmutabledict
2020/01/08 Python
解决tensorboard多个events文件显示紊乱的问题
2020/02/15 Python
python实现超级玛丽游戏
2020/03/18 Python
五分钟带你搞懂python 迭代器与生成器
2020/08/30 Python
生物技术专业研究生自荐信
2013/09/22 职场文书
公司庆典邀请函范文
2014/01/13 职场文书
年级组长自我鉴定
2014/02/22 职场文书
美容院营销方案
2014/03/05 职场文书
巾帼文明岗申报材料
2014/05/01 职场文书
小学生自我评价100字(15篇)
2014/09/18 职场文书
2015年实习班主任工作总结
2015/04/23 职场文书
晚会主持人开场白台词
2015/05/28 职场文书
MySQL中B树索引和B+树索引的区别详解
2022/03/03 MySQL
pytorch中的 .view()函数的用法介绍
2022/03/17 Python