最新要闻
- 中国恒大公告:许家印成被执行人,涉及金额超 60 亿元-世界热门
- 某考研机构欲花百万请孟羽童代言 网友热议:赢麻了|当前快报
- 男子剪鼻毛致鼻腔感染住院12天 医生提醒:非常危险|每日信息
- 全球看点:将乔峰、郭靖等改写成大学生!金庸生前诉江南案终审宣判:获赔188万
- 新疆维吾尔自治区阿勒泰市2023-05-13 12:01发布暴雨蓝色预警 全球热闻
- 女子辞年薪50万工作照顾瘫痪奶奶:只想陪她走完最后一程-全球微头条
- 世界快播:国人最爱买啥车?2023新车购买意向研报出炉:比亚迪夺冠
- 券后9块9!汤臣倍健维生素D钙片大促:手慢真的无
- 环球新动态:苏享茂家属称收到翟欣欣660万还款,后者被判退还千万财物
- 热门:恒大汽车公告:剥离地产业务因资金不足已暂缓生产恒驰5
- 世界快资讯丨理想城市NOA测试画面曝光 马斯克:看起来有点眼熟
- 世界热门:AI出来后第一个失业的是孙燕姿?歌迷齐呼:等你的演唱会
- 撑起国产芯片!华为继续摸索半导体核心技术:新专利带来更高效封装 天天微头条
- 伐木累暗示速激12
- 怎样查询个人养老保险缴纳的情况信息 怎样查询个人养老保险缴纳的情况|信息
- 当前资讯!男童酒店客房误食用过的安全套 家长与酒店吵翻:网友直呼太巧合
广告
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
【世界新视野】Python学习之五_字符串处理生成查询SQL
(资料图片仅供参考)
Python学习之五_字符串处理生成查询SQL
前言
昨天想给同事讲解一下获取查询部分表核心列信息的SQL方法也写好了一个简单文档. 但是感觉不是很优雅. 最近两三天晚上一直在学习Python. 想将昨天的文档处理成一个工具的方式.将查询SQL展示出来. 然后再由同事手工检查确认. 增加时间范围等处理理论上这样能够加快处理速度. 避免过多的拼接过程.
Python的处理过程
添加三个脚本文件dbconnection.py 拼接数据库连接字符串使用gettablesql.py 查询数据库, 获取表SQL使用getsql.py 接收输入的表名, 打印这个表核心列查询SQL需要的module主要有sys,configparser,jaydebeapi方法比较简单, 本着自学的态度进行学习与使用.
dbconnection.py
# coding=utf-8import jaydebeapiimport configparserconfig = configparser.ConfigParser()config.read("dbconnection.ini",encoding="utf-8")def getconn(dbinstance) : jdbcString = config.get(dbinstance,"jdbcString") driverPath = config.get(dbinstance,"driverPath") urlString = config.get(dbinstance,"urlString") userName = config.get(dbinstance,"userName") passWord = config.get(dbinstance,"passWord") conn = jaydebeapi.connect(jdbcString,urlString,[userName,passWord],driverPath) return conn
gettablesql.py
import dbconnectionimport configparserdef gettablesql (configfile,dbinfo,tablename) : config = configparser.ConfigParser() config.read(configfile,encoding="utf-8") conn = dbconnection.getconn(dbinfo) getsql = (""" SELECT LISTAGG ( COLUMN_NAME, ",") FROM user_tab_cols WHERE table_name = upper( """" + str(tablename) + """" ) AND column_name NOT LIKE "%TIME%" AND column_name NOT LIKE "%_PT" AND column_name NOT LIKE "%_CHT" AND column_name NOT LIKE "%_ES" AND column_name NOT LIKE "%_EN" AND column_name NOT LIKE "%DATE%" ORDER BY COLUMN_NAME ASC """) cur = conn.cursor() cur.execute(getsql) columninfo = cur.fetchall() getdatasql=("select " + str(columninfo)[3:-4] + " from " + str(tablename) + " order by 1 asc" ) return getdatasql cur.close()
调用函数 getsql.py
import gettablesqlimport systablename = sys.argv[1]sql = gettablesql.gettablesql("dbconnection.ini","bf",tablename)print(sql)
处理的一些说明
1. """ 表示多行字符串. 2. 字符串建议使用 () 小括号括起来, 便于处理3. 字符串可以使用 + 的方式进行拼接. 建议可以进行str(xxx)的方式进行显示转换. 4. str(xxxx)[3:-4] 表示删除前面三个,最后四个字符. 这里正好将 oracle listagg 出来的tuple记过的前面三个多语的福浩删除掉了5. def xxxx : 进行定义函数, return 到被调用函数就可以了.
字符串处理的一些加深学习
之前一直使用shell 进行字符串的处理自己也记录了非常多的shell 处理工具的命令和方式.最近学习python 感觉更简洁和方便. 需要多学习, 需要保持学习的能力学习可以使你有离开的能力, 只有这样才不会总被人欺负. 本文后面的大部分学习自:https://baijiahao.baidu.com/s?id=1738413163267646541
1. 判断输入字符串的类型
zhaobsh = input("请输入: " )print(zhaobsh.isalpha())使用pycharm 可以提示出具体的判断函数isasciiisspaceisupperislower
2. 字符串拼接
print("-".join(zhaobsh)) # 用来指定拼接符号,拼接出一个字符串,效率比+高print(zhaobsh.center(100, "*")) # 字符串居中,左右填充指定内容print(zhaobsh.ljust(50, "*")) # 返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。 如果指定的长度小于原字符串的长度则返回原字符串。print(zhaobsh.rjust(50, "*")) # 它将原字符串右对齐,并使用空格填充至指定长度,并返回新的字符串。 如果指定的长度小于原字符串长度,则直接返回原字符串。print(zhaobsh.zfill(50)) # 返回指定长度的字符串,原字符串右对齐,前面填充0。
3. 查找
print(str.count("p")) # 指定内容,在原str中出现了多少次print(str.find("pip")) # 包含pip,则返回开始的索引值,否则返回-1。print(str.index("pip")) # 包含pip,则返回开始的索引值,否则返回Exception。print(str.rfind(" ")) # 返回参数字符串在字符串中最后一次出现的位置。没有查询到则返回-1.print(str.rindex(" ")) # 返回参数字符串在字符串中最后一次出现的位置。没有查询到则返回Exception.
4.分隔和替换
print(str.replace(" ", "-")) # 替换操作,str.replace()函数并不对原有的字符串进行改变。print(str.partition(" ")) # 如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。print(str.rpartition(" ")) # 类似于 partition() 方法,只是该方法是从目标字符串的末尾也就是右边开始搜索分割符。print(str.rsplit(" ")) # 如果给出了 maxsplit,则最多进行 maxsplit 次拆分,从 最右边 开始。print(str.split(" ")) # 分割字符串print(str.splitlines()) # 按照行界符("\r", "\r\n", \n"等)分隔,返回一个包含各行作为元素的列表,默认不包含行界符。print(str.lstrip("p")) # 删除从开头开始指定的字符串,然后返回结果字符串。注意:只能从开头开始print(str.rstrip("p")) # 删除 string 字符串末尾的指定字符,默认为空白符,包括空格、换行符、回车符、制表符。print(str.strip()) # 删除前后的指定字符,默认是空格
5.大小写操作
print(str.capitalize()) # 第一个字母大写,对中文无效print(str.lower()) # 字母转为小写,只对英语有效print(str.casefold()) # 字母转为小写,所有语言都有效,例如:德语print(str.upper()) # 字母全部转为大写,英语有效print(str.swapcase()) # 将字符串中的英文字母大小写互换,并返回修改后的字符串。print(str.title()) # 将字符串中的每个单词首字母大写,其余字母小写,并返回新的字符串。
6. 判断内容
print(str.startswith("pip")) # 判断是否以pip为开头print(str.endswith("office")) # 判断str是否以office结尾print(str.isalnum()) # 如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 Falseprint(str.isalpha()) # 如果 string 至少有一个字符并且所有字符都是字母则返回 True,否则返回 Falseprint(str.isascii()) # 如果字符串为空或字符串中的所有字符都是 ASCII,则返回 True,否则返回 False。print(str.isdecimal()) # 如果字符串中的所有字符都是十进制字符,则返回Trueprint(str.isdigit()) # isdigit函数检测字符串中是否只包含数字字符。若全部是由数字字符组成的字符串,则返回True,否则返回False。isdigit函数没有参数。print(str.isidentifier()) # 如果字符串是Python中的有效标识符,返回True。如果不是,则返回False。print(str.islower()) # islower() 方法检测字符串是否由小写字母组成.print(str.isupper()) # 检测字符串中所有的字母是否都为大写。print(str.isnumeric()) # 检查字符串中是否只包含数值字符。此方法只适用于Unicode的对象。print(str.isprintable()) # 如果字符串中的所有字符都可打印或字符串为空,则返回 True,否则返回 False。print(str.isspace()) # 检测字符串是否只由空白字符组成。print(str.istitle()) # 检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。
7.其他
print(str.maketrans())#此静态方法返回一个 可供 str.translate() 使用的转换对照表。print(str.translate())print(str.encode(encoding="utf8", errors="strict")) # 返回字符串编码后的数据,默认的编码是当前的字符串编码。errors为给定的不同错误处理方法。print(str.expandtabs()) # 用空格替换\t符号print(str.format(content="yyds"))format_map_dict = {"content": "yyds"}print(str.format_map(format_map_dict)) # str.format_map(mapping) 方法仅适用于字符串格式中可变数据参数来源于字典等映射关系数据时。mapping 会被直接使用而不是复制到一个 dict。
关键词:
-
spring框架_@AutoWiredAnnotationBeanPostProcessor执行分析 今日聚焦
AutoWiredAnnotationBeanPostProcessor执行依赖注入的时候(解析@Autowired)调用了postProcessProperties
来源: 【世界新视野】Python学习之五_字符串处理生成查询SQL
spring框架_@AutoWiredAnnotationBeanPostProcessor执行分析 今日聚焦
中国恒大公告:许家印成被执行人,涉及金额超 60 亿元-世界热门
某考研机构欲花百万请孟羽童代言 网友热议:赢麻了|当前快报
男子剪鼻毛致鼻腔感染住院12天 医生提醒:非常危险|每日信息
全球看点:将乔峰、郭靖等改写成大学生!金庸生前诉江南案终审宣判:获赔188万
Hyper Demon拆解 当前速看
新疆维吾尔自治区阿勒泰市2023-05-13 12:01发布暴雨蓝色预警 全球热闻
女子辞年薪50万工作照顾瘫痪奶奶:只想陪她走完最后一程-全球微头条
世界快播:国人最爱买啥车?2023新车购买意向研报出炉:比亚迪夺冠
券后9块9!汤臣倍健维生素D钙片大促:手慢真的无
环球新动态:苏享茂家属称收到翟欣欣660万还款,后者被判退还千万财物
热门:恒大汽车公告:剥离地产业务因资金不足已暂缓生产恒驰5
世界快资讯丨理想城市NOA测试画面曝光 马斯克:看起来有点眼熟
世界热门:AI出来后第一个失业的是孙燕姿?歌迷齐呼:等你的演唱会
天天速讯:夜莺初探四·mtail插件采集日志指标
《首次公开募股(IPO)企业品牌建设指南》标准立项暨“IPO企业品牌辅导专项行动”正式启动_动态
撑起国产芯片!华为继续摸索半导体核心技术:新专利带来更高效封装 天天微头条
伐木累暗示速激12
怎样查询个人养老保险缴纳的情况信息 怎样查询个人养老保险缴纳的情况|信息
当前资讯!男童酒店客房误食用过的安全套 家长与酒店吵翻:网友直呼太巧合
90后宝爸拽脚倒提1岁女儿摸金鱼 妈妈称没危险:网友吐槽为啥要摸 世界微资讯
今日热议:广西:5月13日至15日开展高考志愿填报演练
世界快播:分布式系统常见问题
百度手机曝光:后置双摄+4G网络 世界快资讯
骁龙888再就业!荣耀新平板入网:13英寸超大LCD屏_全球速看
德普拿下超级香水合约
速递!AI出来后第一个失业的是孙燕姿:为什么说她的音色不受法律保护
天天最资讯丨中国地形地貌最全的省份:你可能想不到
专家称睡满8小时是误区:张朝阳曾称四小时足够 睡多浪费
项目一个不留!OPPO放弃ZEKU自研芯片业务:多大代价都是最小代价 世界快资讯
法网公布奖金分配:总额提升12.3%,低排位选手获利,冠军230万欧-世界今日报
全球今热点:地位远超iPhone!苹果Reality Pro头显12月大规模量产:售价超2万
环球快播:小白也能辨别!买独显轻薄本必须要看的四大规格
马斯克:当Linda Yaccarino准备好时,我们会在Twitter Spaces进行实时音频对话,欢迎提问任何事情。-每日报道
有赞一面:亿级用户DAU日活统计,有几种方案?-每日速递
每日快播:gazebo+rviz 仿真
OPPO放弃自研芯片!马里亚纳X/Y官网页面悄然404_环球微速讯
天天快报!国外玩家质疑《塞尔达传说:王国之泪》涉嫌抄袭:照搬游戏机制
二次圆满成功!中国可重复火箭发动机传喜讯 今头条
在美国加州 我亲眼见到了Google对AI的孤注一掷_每日热闻
性能秒RTX 4060?AMD新显卡性能实测 光追是短板 今日报
庄河市气象局发布雷电黄色预警【III级/较重】【2023-05-13】
成都惠蓉保报销有等待期吗? 当前播报
4K【龙与地下城:侠盗荣耀】
苹果MacBook新专利公布 掌托与触控板位置实现触控交互
深圳一公司通知母亲节放假3天 每位员工将收到一套礼盒
全国多地气温开始火速上升 北方将迎来今年首轮高温天气过程
电影《灌篮高手》宣布密钥延期 将延长上映至6月19日
DC电影公布《闪电侠》国内首波口碑 将于6月16日全国上映
bilibili云剪辑将于今年5月31日下线 其访问入口关闭
电视剧《庆余年2》宣布正式开机 其海报细节涉嫌抄袭国外艺术家
林志颖首次现身珠海赛车场 身体状态颇为不错
京都动画工作室纵火杀人案9月5日公审 为平成时代最致命案件
迪士尼真人巨制《小美人鱼》即将上映 现已宣布内地版配唱阵容
当前关注:第三章.数据库系统(重点)
使用Pandoc构建Acm模板-焦点简讯
Epic下周神秘游戏喜加4:不是老头环、大表哥2|世界要闻
6死20余伤!广州宝马X3撞人案动机公开:发泄个人情绪 焦点信息
苏丹首都喀土穆等地的武装冲突12日仍在持续|每日速递
剑指 Offer 03. 数组中重复的数字-头条
REITs审核关注事项优化 突出以“管资产”为核心
【新华解读】科创50ETF期权上市启动 丰富市场风险管理工具
先到先停!上海一男子交停车费,回来没有车位停,觉得保安在狡辩
卫士重生_世界新动态
《塞尔达传说:王国之泪》被玩家仅用94分钟通关|当前消息
树状数组--动态维护区间操作-新动态
记一次C++后台开发面试拷打过程
目录
快报:中国第二个陨石坑证实!10万年来最大规模的撞击
【世界报资讯】覆盖全球!我国自主研发的全球风暴潮、海啸监测预警系统正式上线运行
开心麻花进军人工智能领域 成立数字科技有限公司_天天热推荐
96核Zen4史无前例 AMD下代锐龙线程撕裂者被偷跑:再等4个月
离职前月薪不足一万 工作21小时!孟羽童去年统计为格力带货近400万_今日热闻
泛“舟”银河 再赴“天宫”——天舟六号货运飞船发射升空侧记_全球热闻
使用键盘控制gazebo小车模型运动-环球快报
环球讯息:桐柏农商银行:行长进万企 助力乡村振兴
全球观焦点:女硕士求职客服岗位被婉拒!HR教改简历
世界微速讯:危险!无人驾驶第一股 面临强制退市
喜大普奔!曝半幅式方向盘车辆不被允许上工信部公告 全球热消息
能跑100km!一文看懂小牛G400电动车:35L座桶堪比20寸行李箱
专家:我国网络建设可满足4K/8K视频分发 标清机顶盒拖了后腿 天天即时
博菲电气(001255.SZ):拟发行可转债募资不超3.9亿元 投于年产70000吨新能源复合材料制品建设项目|精选
redis持久化之AOF|速看料
勘设股份: 勘设股份关于向特定对象发行股票申请文件的审核问询函回复(修订稿)及募集说明书等申请文件更新的提示性公告 每日动态
叹息!殿堂级经典日漫《圣斗士星矢》 惨遭美国拍成超级大烂片_世界热资讯
“基尼太美” 兰博基尼旗舰超跑Revuelto上市:售价629.4994万元
环球今头条!配2.1英寸显示屏!鑫谷昆仑II 360 ARGB水冷散热器图赏
淄博一小区为外卖员配单车 网友盛赞:人性又安全_天天热推荐
世界第一座私人空间站来了!马斯克SpaceX背后输出
海南发布地质灾害气象风险预警 观天下
环球简讯:Python-单引号、双引号和三引号的作用和区别
全球观点:一致性哈希(哈希环)解决数据分布问题
云原生第三周--kubernetes组件详解|每日播报
记录--9个封装Vue组件的小技巧 每日讯息
CH32内部参考电压的使用-即时焦点
全球头条:【金融街发布】外汇局:一季度货物贸易顺差处于历史同期较高水平
每日精选:专访|田耳:文学或有江湖,写作难以停歇
饭一定要吃七分饱才健康?新研究推翻传统观念 全球热闻
全球简讯:欧洲人最爱!蔚来ET5旅行版实车亮相:真心优雅