python运行mysql语句报错怎么解决
发表于:2024-11-14 作者:千家信息网编辑
千家信息网最后更新 2024年11月14日,这篇"python运行mysql语句报错怎么解决"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来
千家信息网最后更新 2024年11月14日python运行mysql语句报错怎么解决
这篇"python运行mysql语句报错怎么解决"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"python运行mysql语句报错怎么解决"文章吧。
一 python 运行mysql 语句报错
众所周知,python有转译机制 %s和%d都会被转译成字符串或数字,而sql的模糊查询也需要用到%,都进行模糊查询时,刚好查询条件还是个变量那就很尴尬了。
解决方法其实很简单,把需要进行模糊查询的字符串从sql中单独拎出来进行拼接就好
错误方式
shopId = "zbw_010002"
'''select * from base_saleflows where shopId='{0}' and card_id is not NULL and standard_cls4 like "%湿巾%" '''.format(shopId)
发现 不对,这样的语句 mysql是运行不了的。
args='%湿巾%'
shopId = "zbw_010002"
mysql_sentence='''select a.shopId, a.sale_money,a.card_id ,a.standard_cls4 from base_saleflows a join base_vips b on a.card_id = b.card_id where a.shopId='{0}' and a.card_id is not NULL and a.standard_cls4 like '{1}' '''.format(shopId,args)
print(mysql_sentence)
结果为
select * from base_saleflows a join base_vips b on a.card_id = b.card_id where a.shopId='zbw_010002' and a.card_id is not NULL and a.standard_cls4 like '%湿巾%'
二 字符串分组拼接
对 cls3列 按照流水号flow_no 进行 分组拼接字符串,拼接符号为'-'
# 分组拼接result = vipsaleflow_common.pivot_table(values='standard_cls3',index='flow_no',aggfunc=lambda x:x.str.cat(sep='-'))
三 每个月 、季度 新客数
编写函数
def new_count(saleflow, vip_col_name =['card_id'] , groupby_list=['year','month'], shopId=shopId):
"""
会员流水新客数
"""
first =saleflow.groupby(vip_col_name).oper_date.min().reset_index().\
rename(columns={'oper_date':'oper_date_first'})
first["month"] = first.oper_date_first.map(lambda x: x.month)
first["year"] = first.oper_date_first.map(lambda x: x.year)
lookup = {1: 1, 2:1,3:1,4:2,5:2, 6:2, 7:3,8:3,9:3,10:4, 11:4,12:4}
first['season'] = first.oper_date_first.apply(lambda x: lookup[x.month])
first['YearMonth'] = first.oper_date_first.map(lambda x: 100*x.year + x.month)
monthly_new_count = first.groupby(groupby_list).card_id.nunique()\
.reset_index().rename(columns={'card_id':'card_id'+'_nunique'})
return monthly_new_count
应用 :按照 ( 年 ,月 , 分店号 ,湿巾类型)分组 求 每月 各个湿巾类型的新客数
## 每个月
RESULT_month =new_count(saleflow, vip_col_name = ['branch_no','card_id','shijing_class'] ,
groupby_list=['year','month','branch_no','shijing_class'], shopId=shopId)
应用 :按照 ( 年 ,季度 , 分店号 ,湿巾类型) 分组 求每个季度新客数
四 根据时间戳衍生 年 月 季度
saleflow['oper_date']=saleflow['oper_date'].astype(str) #字符串saleflow['oper_date'] = saleflow.oper_date.apply(lambda x:datetime.strptime(x, '%Y-%m-%d %H:%M:%S'))saleflow["month"] = saleflow.oper_date.map(lambda x: x.month)saleflow["year"] = saleflow.oper_date.map(lambda x: x.year)#https://www.it1352.com/584941.htmllookup = {1: 1, 2: 1,3: 1,4: 2, 5: 2, 6: 2, 7: 3,8: 3,9: 3,10: 4, 11: 4,12: 4}saleflow['Season'] = saleflow['oper_date'].apply(lambda x: lookup[x.month]) saleflow['YearMonth'] = saleflow['oper_date'].map(lambda x: 100*x.year + x.month)
以上就是关于"python运行mysql语句报错怎么解决"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
湿巾
语句
运行
内容
字符
字符串
分组
季度
查询
类型
分店
文章
流水
知识
篇文章
应用
不对
尴尬
众所周知
价值
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技发展的优势
网络技术培训课表
计算机网络技术(陆军)
金蝶加密服务器怎么用
铸造产品数据库
2021北京网络安全大会日程
雷克萨斯售后服务器
教育软件开发趋势
最新的网络安全产业
网络安全作品命名
关于网络安全主题教育黑板报
创建数据库的总结语
象山ios软件开发管理
剑灵电信2区服务器
密云区咨询软件开发
服务器必须托管吗
微羽网站服务器
dns服务器泄露
欧盟网络安全标准
服务器远程管理组
武隆区网络软件开发服务代理商
服务器的磁盘管理怎么查看
南邮ip网络技术报告
硬盟网络技术有限公司招聘
山东 网络安全知识大赛
人类细胞衰老基因数据库
象山ios软件开发管理
东营软件开发初级教材哪个好
数据库最低配置
不动产数据库建库软件