简单用Python输出一个SQL批量修改的语句

简单用Python输出一个SQL批量修改的语句

Python小七2018-10-15 14:42:415140A+A-

简单用Python输出一个SQL批量修改的语句

学了Python也有了一段时间了,有的同学可能学到了后面 会把前面一些基础的知识忘记了,在写代码的不知道如何下手!

今天我们教给大家一点简单的小实用的例子.

本次用到了读取文件 open()这个函数 再将读取文件中的数值用for循环到list中!使用append()这个函数!意思是在列表的末尾 添加新的对象!下面介绍下open()函数的语法:

open(file[, mode[, buffering[, encoding[, errors[, newline[, closefd=True]]]]]])


open函数使用一个文件名作为唯一的强制参数,然后返回唯一的文件对象。


open:函数有很多的参数,常用的是file,mode和encoding; 

file:文件位置,需要加引号; 

mode文件打开模式,有读、写; 

buffering的可取值有0,1,>1三个,0代表buffer关闭(只适用于二进制模式),1代表line buffer(只适用于文本模式),>1表示初始化的buffer大小; 

encoding表示的是返回的数据采用何种编码,一般采用utf8或者gbk; 

errors的取值一般有strict,ignore,当取strict的时候,字符编码出现问题的时候,会报错,当取ignore的时候,编码出现问题,程序会忽略而过,继续执行下面的程序。 

newline可以取的值有None, \n, \r, ”, ‘\r\n’,用于区分换行符,但是这个参数只对文本模式有效;


2、 Python中file()与open()区别


两者都能够打开文件,对文件进行操作,也具有相似的用法和参数,但是,这两种文件打开方式有本质的区别,file为文件类,用file()来打开文件,相当于这是在构造文件类,而用open()打开文件,是用python的内建函数来操作,建议使用open;


image.png

把需要更新的字段条件和需要更新的值 放到object_id.txt和level7_id.txt文档中! 记住每行必须是相互对应的!顺序千万不要乱了!否则在SQL中都是乱的! 好了 废话不多说 直接附上代码吧!

object_id = []
# 需要修改的字段的条件!
for i in open('object_id.txt', 'r'):
      i = i.strip('\n')
      object_id.append(i)

level7_id = []
# 需要更新的字段!
for x in open('level7_id.txt', 'r'):
      x = x.strip('\n')
      level7_id.append(x)

print('update tjbb1.dzgrade45 set level7_id=case object_id')
for (x, x1) in zip(object_id, level7_id):
      print("when " + "'" + str(x) + "'", "then " + "'" + str(x1) + "'")
print('end ,remark=null')
print('where  object_id in (', end='')
for i in object_id:
      print("'" + str(i) + "'", end=',')
print(');')

如果有不足的地方!欢迎大家指出来!再次感激不尽!

点击这里复制本文地址 以上内容由小七资源网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

支持Ctrl+Enter提交

小七资源网 © All Rights Reserved.  Copyright 小七资源网
本站部分内容收集于互联网,如果有侵权内容、不妥之处,请联系我们删除。敬请谅解!email:[email protected]