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检测手机QQ在线状态的脚本代码
Feb 10 Python
在Python的循环体中使用else语句的方法
Mar 30 Python
Django框架中方法的访问和查找
Jul 15 Python
Python 使用with上下文实现计时功能
Mar 09 Python
实例讲解python中的协程
Oct 08 Python
在pycharm 中添加运行参数的操作方法
Jan 19 Python
Python使用uuid库生成唯一标识ID
Feb 12 Python
python实现AdaBoost算法的示例
Oct 03 Python
python利用文件时间批量重命名照片和视频
Feb 09 Python
golang中的空接口使用详解
Mar 30 Python
Python包管理工具pip的15 个使用小技巧
May 17 Python
Python 中的Sympy详细使用
Aug 07 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
网页游戏开发入门教程二(游戏模式+系统)
2009/11/02 PHP
php生成图形(Libchart)实例
2013/11/06 PHP
js和php邮箱地址验证的实现方法
2014/01/09 PHP
PHP生成数组再传给js的方法
2014/08/07 PHP
thinkphp的URL路由规则与配置实例
2014/11/26 PHP
php+ajax实现无刷新数据分页的办法
2015/11/02 PHP
js自定义事件代码说明
2011/01/31 Javascript
js中substring和substr的定义和用法
2014/05/05 Javascript
如何解决谷歌浏览器下jquery无法获取图片的尺寸
2015/09/10 Javascript
关于input全选反选恶心的异常情况
2016/07/24 Javascript
Bootstrap基本插件学习笔记之Alert警告框(20)
2016/12/08 Javascript
微信小程序 用户数据解密详细介绍
2017/01/09 Javascript
JS出现失效的情况总结
2017/01/20 Javascript
浅谈Angular 中何时取消订阅
2017/11/22 Javascript
Jquery实现获取子元素的方法分析
2019/08/24 jQuery
如何解决django配置settings时遇到Could not import settings 'conf.local'
2014/11/18 Python
Python装饰器使用示例及实际应用例子
2015/03/06 Python
python链接Oracle数据库的方法
2015/06/28 Python
Python minidom模块用法示例【DOM写入和解析XML】
2019/03/25 Python
TensorFlow实现简单的CNN的方法
2019/07/18 Python
From CSV to SQLite3 by python 导入csv到sqlite实例
2020/02/14 Python
python录音并调用百度语音识别接口的示例
2020/12/01 Python
详解HTML5通讯录获取指定多个人的信息
2016/12/20 HTML / CSS
美国50岁以上单身人士约会平台:SilverSingles
2018/06/29 全球购物
应届生骨科医生求职信
2013/10/31 职场文书
应届生污水处理求职信
2013/11/06 职场文书
企划经理的岗位职责
2013/11/17 职场文书
科研课题实施方案
2014/03/18 职场文书
外联部演讲稿
2014/05/24 职场文书
集中采购方案
2014/06/10 职场文书
小学捐书活动总结
2014/07/05 职场文书
工资收入证明样本(5篇)
2014/09/16 职场文书
幼儿园工作总结2015
2015/04/01 职场文书
大学运动会加油稿
2015/07/22 职场文书
如何用JavaScipt测网速
2021/05/09 Javascript
HTML怎么设置下划线?html文字加下划线方法
2021/12/06 HTML / CSS