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 相关文章推荐
SublimeText 2编译python出错的解决方法(The system cannot find the file specified)
Nov 27 Python
Python中asyncore异步模块的用法及实现httpclient的实例
Jun 28 Python
利用django如何解析用户上传的excel文件
Jul 24 Python
TensorFlow 模型载入方法汇总(小结)
Jun 19 Python
将python文件打包成EXE应用程序的方法
May 22 Python
cProfile Python性能分析工具使用详解
Jul 22 Python
django 数据库连接模块解析及简单长连接改造方法
Aug 29 Python
浅谈Python3识别判断图片主要颜色并和颜色库进行对比的方法
Oct 25 Python
Flask框架 CSRF 保护实现方法详解
Oct 30 Python
python绘制玫瑰的实现代码
Mar 02 Python
详解Python利用configparser对配置文件进行读写操作
Nov 03 Python
基于Python实现nc批量转tif格式
Aug 14 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调试函数和日志记录函数分享
2015/01/31 PHP
php的闭包(Closure)匿名函数详解
2015/02/22 PHP
PHP判断网络文件是否存在的方法
2015/03/12 PHP
php while循环控制的简单实例
2016/05/30 PHP
php web环境和命令行环境下查找php.ini的位置
2019/07/17 PHP
windows系统php环境安装swoole具体步骤
2021/03/04 PHP
理解javascript中try...catch...finally
2015/12/25 Javascript
JS组件中bootstrap multiselect两大组件较量
2016/01/26 Javascript
学习使用jQuery表单验证插件和日历插件
2017/02/13 Javascript
基于node.js依赖express解析post请求四种数据格式
2017/02/13 Javascript
nodejs express配置自签名https服务器的方法
2018/05/22 NodeJs
es6函数之尾调用优化实例分析
2020/04/25 Javascript
vue-cli3访问public文件夹静态资源报错的解决方式
2020/09/02 Javascript
vue-cli 3如何使用vue-bootstrap-datetimepicker日期插件
2021/02/20 Vue.js
[04:19]完美世界携手游戏风云打造 卡尔工作室模型介绍篇
2013/04/24 DOTA
wxpython 最小化到托盘与欢迎图片的实现方法
2014/06/09 Python
Python开发中爬虫使用代理proxy抓取网页的方法示例
2017/09/26 Python
浅谈flask截获所有访问及before/after_request修饰器
2018/01/18 Python
tensorflow实现softma识别MNIST
2018/03/12 Python
python pandas dataframe 行列选择,切片操作方法
2018/04/10 Python
Python贪心算法实例小结
2018/04/22 Python
Python并发之多进程的方法实例代码
2018/08/15 Python
Python matplotlib学习笔记之坐标轴范围
2019/06/28 Python
python扫描线填充算法详解
2020/02/19 Python
html5中JavaScript removeChild 删除所有节点
2014/05/16 HTML / CSS
捷克时尚网上商店:OTTO
2018/03/15 全球购物
时尚圣经:The Fashion Bible
2019/03/03 全球购物
小学教师培训感言
2014/02/11 职场文书
大学学习个人的自我评价
2014/02/18 职场文书
《桥》教学反思
2014/04/09 职场文书
外贸会计专业自荐信
2014/06/22 职场文书
2014年网管工作总结
2014/12/11 职场文书
新娘婚礼致辞
2015/07/27 职场文书
2016年七夕情人节宣传语
2015/11/25 职场文书
蓝天保卫战收官在即 :15行业将开展环保分级评价
2019/07/19 职场文书
HAM-2000摩机图
2021/04/22 无线电