需求

最近公司干活,收到一个需求,说是让手动将数据库查出来的信息复制粘贴到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] + ' '

file.write(number)

file.close()

if __name__ == '__main__':

read_excel()

总结

其中用到的是openpyxl这个库,个人感觉非常好用,初步写的时候参考了一下国外大佬的一篇博客,附上链接:

以上这篇Python读取excel指定列生成指定sql脚本的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

python读取excel指定列-Python读取excel指定列生成指定sql脚本的方法相关推荐

  1. mysql读取sql脚本_Pandas直接读取sql脚本的方法

    之前有群友反应同事给了他一个几百MB的sql脚本,导入数据库再从数据库读取数据有点慢,想了解下有没有可以直接读取sql脚本到pandas的方法. 解析sql脚本文本文件替换成csv格式并加载 我考虑了 ...

  2. python科学计算笔记(十一)pandas中date_range生成指定日期

    生成指定日期范围的范围 pandas.date_range()用于生成指定长度的DatatimeIndex: 1)默认情况下,date_range会按着时间间隔为天的方式生成从给定开始到结束时间的时间 ...

  3. 使用JAVA流操作(POI)将Excel表中数据取出,并直接生成完整SQL语句

    使用POI读取excel,并输出为sql语句 一.准备工作 二.编写代码(Transform.java) 三.完整代码 四.POI所有常用方法参考 个人文章地址 一.准备工作 1.1.新建一个普通的M ...

  4. thinkPHP5引入endroid/qr-code类库生成指定二维码(本例生成指定网址)

    我在项目开发中需要使用到的常见的一些类库,基本都是Packagist / Composer 中国全量镜像上找到,然后使用composer直接安装. 废话不多说开始吧! 首先,打开https://pac ...

  5. php生成指定范围随机数两位小数_PHP生成随机数的几种方法

    第一种方法用mt_rand() function GetRandStr($length){ $str='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUV ...

  6. python亿级mysql数据库导出_Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法...

    本文实例讲述了python实现将MySQL数据库表中的数据导出生成csv格式文件的方法.分享给大家供大家参考,具体如下: #!/usr/bin/env python # -*- coding:utf- ...

  7. php 随机制定数,(php)生成指定个数的随机红包

    $total=20;//红包总金额 $num=10;// 分成10个红包,支持10人随机领取 $min=0.01;//每个人最少能收到0.01元 $redpack = new redpack($tot ...

  8. python读取excel并生成指定列的二维码

    需要导入的包和模块 # 导入二维码生成模块 import qrcode # 导入excel模块 import xlrd # 位置模块 import os安装包方法: pip install XXX(包 ...

  9. python怎么读取excel某一行某一列-python3读取excel文件只提取某些行某些列的值方法...

    今天有一位同学给了我一个excel文件,要求读取某些行,某些列,然后我试着做了一个demo,这里分享出来,希望能帮到大家: 首先安装xlrd: pip3 install xlrd 然后上代码: imp ...

最新文章

  1. 电影天堂React Native 客户端
  2. 如何在ppt下面加入讲解内容_学术展示系列:学术PPT教程(下)内容 讲解
  3. web.config中的session配置详解
  4. Springboot2.1.3 + redis 实现 cache序列化乱码问题
  5. LeetCode-链表-19. 删除链表的倒数第 N 个结点
  6. 数字化转型的研究方向
  7. 看了些关于rem的知识点,在这做个自我总结归纳
  8. ubuntu16.04 TLS安装java
  9. python学习笔记一:python基础知识
  10. Linux用户和组账户管理
  11. C运行时库(CRT)
  12. Hibernate教程——史上最全面的项目和教程集合
  13. 计算机专业老师新学期工作计划,2020教师新学期工作计划5篇
  14. 单片机 LCD1602液晶显示
  15. Jlink 下安装JLINK驱动
  16. virtualbox win10 共享文件夹
  17. 2020Android手机专业摄影,这 7 款手机,就是 2020 上半年的拍照巅峰
  18. redis中的save配置项
  19. Element-UI 表格自定义序号列
  20. sys 系统库 笔记(一)—— 简介与快速入门

热门文章

  1. unicode字符串操作函数 vc
  2. P3979 遥远的国度
  3. poj1330|bzoj3732|noip2013 货车运输 kruskal+倍增lca
  4. GridControl详解(十)BandedGridView
  5. BZOJ-1027 [JSOI2007]合金
  6. iPhone4S出现应用无法打开时的解决方案
  7. 以下选项不是python打开方式的是-以下选项,不是Python保留字的选项是:_学小易找答案...
  8. python新手程序员工资-程序员吐槽新同事:连我实习水平都不到,工资是我的1.7倍...
  9. pythonweb开发-如何用Python做Web开发?——Django环境配置
  10. python编译器在哪下载-Python-IDLE的下载安装及使用