博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python正则提取mysql中文数据
阅读量:4080 次
发布时间:2019-05-25

本文共 1636 字,大约阅读时间需要 5 分钟。

要对mysql中的中文数据做正则匹配,就想用python,简单实用,不过碰到中文乱码问题,各种搜索,折腾了好久,总算解决了,基本上的原则就是转为utf8编码。

具体为从表中的"title"取出中文,用正则匹配其中的年级,再写入"grade"。​

python版本:python-2.7.12.amd64。mysql版本:​mysql-5.7.13-winx64。系统是Windows7。

​python文件编码为UTF-8。

mysql设置:

=======================================​

[mysqld]

sql-mode="MYSQL40"

# 服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8

[client]

default-character-set=utf8

=========================================================

​python代码:

#!/usr/bin/python# -*- coding: UTF-8 -*-import MySQLdbimport re# 打开数据库连接,注意要设置charset='utf8'。db = MySQLdb.connect("localhost","root","123456","database",charset='utf8')# 使用cursor()方法获取操作游标 cursor = db.cursor()#查找的sql语句sql = "select id,title from ytable"try:    # 执行SQL语句    cursor.execute(sql)    # 获取所有记录列表    results = cursor.fetchall()except MySQLdb.Error,e:    print "Mysql Error %d: %s" % (e.args[0], e.args[1])#匹配年级的正则,注意(一|二|三|四|五|六|七|八|九)不能用[一二三四五六七八九]代替,否则出错grade = r'(((初|高)中?)?(一|二|三|四|五|六|七|八|九)年级\s*((\(|()(上|下)(\)|)))?|(初|高)(一|二|三)\s*((\(|()(上|下)(\)|)))?)'pattern = re.compile(grade)jiLu = 0for row in results:    id = row[0]    title = row[1].encode('UTF-8') #从数据库取出的中文字符编码为Unicode,要转为utf8,否则正则匹配出错    match = pattern.search(title)     #"title"里面可能包含年级,如匹配到年级,写入"grade"    if match:        try:            print id,match.group()            sql_1 = "update ytable set grade = '%s' where id = %s" % (match.group(),id)            cursor.execute(sql_1)            db.commit()        except MySQLdb.Error,e:            print "Mysql Error %d: %s" % (e.args[0], e.args[1])            # 发生错误时回滚            db.rollback()​        #显示处理条目数    jiLu += 1    print jiLu# 关闭数据库连接db.close()

转载地址:http://oktni.baihongyu.com/

你可能感兴趣的文章
一个真正好的无人机应该是需要自己慢慢去调参的,别人的默认参数是可以飞但是可能达不到perfect的效果。
查看>>
carzepony也在想往FreeRTOS上迁移
查看>>
可以买个好点的电烙铁
查看>>
ACfly调参记录(包括ACfly-F330和ACfly-T265)
查看>>
一定记得每飞几次或者隔一天要把螺丝和浆帽拧一次,确实会松的
查看>>
《多旋翼无人飞行器嵌入式飞控开发指南》里基于FreeRTOS的无人机软件框架
查看>>
我感觉无人机借助于激光雷达实现定点悬停的效果应该好于光流才是
查看>>
思岚A1的SDK其实很好读懂,每个函数清晰明了,可以直接调用
查看>>
六角铜柱的型号
查看>>
pixhawk无GPS时可以在定高或者自稳模式下解锁起飞(见过多次别人说到)
查看>>
pixhawk(PX4)的一些论坛网站(包括中文版的PX4用户手册和PX4开发手册)
查看>>
串级 PID 为什么外环输出是内环的期望?(和我之前对串级PID的总结一样)
查看>>
APM/Pixhawk飞行日志分析入门(苍穹四轴)
查看>>
我刚刚才完全清楚GPS模块的那根杆子是怎么固定安装好的
查看>>
去github里面找找也没有别人无人机+SLAM的工程
查看>>
PX4与ROS关系以及仿真控制(键盘控制无人机)
查看>>
我对无人机重心高度的理解
查看>>
现在明白为什么无名博客里好几篇文章在讲传感器的滞后
查看>>
实际我看Pixhawk定高模式其实也是飞得很稳,飘得也不厉害
查看>>
Pixhawk解锁常见错误
查看>>