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自动化构建工具scons使用入门笔记
Mar 10 Python
Python 如何访问外围作用域中的变量
Sep 11 Python
python读写json文件的简单实现
Apr 11 Python
python使用sqlite3时游标使用方法
Mar 13 Python
python 脚本生成随机 字母 + 数字密码功能
May 26 Python
python 查找文件名包含指定字符串的方法
Jun 05 Python
Python函数any()和all()的用法及区别介绍
Sep 14 Python
python实现简单http服务器功能
Sep 17 Python
Python面向对象之类的封装操作示例
Jun 08 Python
python剪切视频与合并视频的实现
Mar 03 Python
关于Python字符编码与二进制不得不说的一些事
Oct 04 Python
Python爬虫scrapy框架Cookie池(微博Cookie池)的使用
Jan 13 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
打造计数器DIY三步曲(上)
2006/10/09 PHP
查找mysql字段中固定字符串并替换的几个方法
2012/09/23 PHP
php中动态修改ini配置
2014/10/14 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
利用XMLHTTP传递参数在另一页面执行并刷新本页
2006/10/26 Javascript
如何确保JavaScript的执行顺序 之jQuery.html深度分析
2011/03/03 Javascript
js下拉菜单语言选项简单实现
2013/09/23 Javascript
完美解决AJAX跨域问题
2013/11/01 Javascript
jquery 鼠标滑动显示详情应用示例
2014/01/24 Javascript
JS实现进入页面时渐变背景色的方法
2015/02/25 Javascript
javascript制作游戏开发碰撞检测的封装代码
2015/03/31 Javascript
JS实现漂亮的淡蓝色滑动门效果代码
2015/09/23 Javascript
JavaScript操作HTML DOM节点的基础教程
2016/03/11 Javascript
一览画面点击复选框后获取多个id值的方法
2016/05/30 Javascript
Bootstrap表格制作代码
2017/03/17 Javascript
二维码图片生成器QRCode.js简单介绍
2017/08/18 Javascript
JavaScript实现元素滚动条到达一定位置循环追加内容
2017/12/28 Javascript
vue.js中实现登录控制的方法示例
2018/04/23 Javascript
react-native动态切换tab组件的方法
2018/07/07 Javascript
JS实现点击li标签弹出对应的索引功能【案例】
2019/02/18 Javascript
微信小程序自定义导航栏实例代码
2019/04/05 Javascript
D3.js的基础部分之数组的处理数组的排序和求值(v3版本)
2019/05/09 Javascript
vue+vant-UI框架实现购物车的复选框全选和反选功能
2019/11/05 Javascript
部署vue+Springboot前后端分离项目的步骤实现
2020/05/31 Javascript
vue中移动端调取本地的复制的文本方式
2020/07/18 Javascript
[02:28]DOTA2亚洲邀请赛 LGD战队巡礼
2015/02/03 DOTA
Python 爬虫图片简单实现
2017/06/01 Python
python操作文件的参数整理
2019/06/11 Python
python爬虫 urllib模块反爬虫机制UA详解
2019/08/20 Python
利用Tensorboard绘制网络识别准确率和loss曲线实例
2020/02/15 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
2020/02/29 Python
中专毕业生自荐信范文
2013/11/28 职场文书
银行竞聘演讲稿
2014/05/16 职场文书
标准单位租车协议书
2014/09/23 职场文书
学历证明样本
2015/06/16 职场文书
PYTHON基于Pyecharts绘制常见的直角坐标系图表
2022/04/28 Python