问题描述
博主在做课设的时候需要将一个数据库的表转移到另一个远程数据库中,但是由于两个数据库的mysql版本不同,出现了Incorrect string value: '\xF0\x9F\xA7\xA0 O...' for column 'game_name' at row 1,由于我不想损失爬取的数据,我想了一个办法,将插入失败的语句调出来,删除原数据表中的数据

我将插入失败语句存入了一个txt文档中
插入不成功语句部分展示

INSERT INTO `time_task_tb_game` VALUES (32396, 'Valkeala Software Bundle', '526', '-52%', '254', 'steam', 'https://media.st.dl.pinyuncloud.com/steam/bundles/2952/7d80ea457d2bb1rs/capsule_sm_120.jpg?t=1603194436', '2021-01-08 16:50:00.000000');
INSERT INTO `time_task_tb_game` VALUES (32397, 'Vampire: The Masquerade – Bloodlines 2', '163.18', 'no discount', '163.18', 'epic', 'https://cdn1.epicgames.com/nemesia/offer/EGS_VampireTheMasqueradeBloodlines2_HardsuitLabs_S2-1200x1600-29b9f030725c7871fa0c379c269958a6.jpg?h=854&resize=1&w=640', '2021-01-08 16:46:00.000000');
INSERT INTO `time_task_tb_game` VALUES (32398, 'Vampyr', '143.59', 'no discount', '143.59', 'epic', 'https://cdn1.epicgames.com/epic/offer/Vampyr_PortraitPromoImage_1280x1420-1280x1420-301b40bd64a8217ef00324d59b1ce28b.jpg?h=854&resize=1&w=640', '2021-01-08 16:46:00.000000');
INSERT INTO `time_task_tb_game` VALUES (32399, 'Vector Velocity', '6', '-50%', '3', 'steam', 'https://media.st.dl.pinyuncloud.com/steam/apps/751480/capsule_sm_120.jpg?t=1609434617', '2021-01-08 16:51:00.000000');
INSERT INTO `time_task_tb_game` VALUES (32400, 'Victoriana - Steampunk Text Adventure', '15', '-73%', '4', 'steam', 'https://media.st.dl.pinyuncloud.com/steam/apps/1164040/capsule_sm_120.jpg?t=1607944138', '2021-01-08 16:51:00.000000');
INSERT INTO `time_task_tb_game` VALUES (32401, 'Vigilantes', '50', '-50%', '25', 'steam', 'https://media.st.dl.pinyuncloud.com/steam/apps/545600/capsule_sm_120.jpg?t=1588229211', '2021-01-08 16:50:00.000000');
INSERT INTO `time_task_tb_game` VALUES (32402, 'Villa\'s Blinds', '50', '-30%', '35', 'steam', 'https://media.st.dl.pinyuncloud.com/steam/apps/1333800/capsule_sm_120.jpg?t=1609754082', '2021-01-08 16:51:00.000000');
INSERT INTO `time_task_tb_game` VALUES (32403, 'Viviette', '39', '-51%', '19', 'steam', 'https://media.st.dl.pinyuncloud.com/steam/apps/883070/capsule_sm_120.jpg?t=1606327442', '2021-01-08 16:49:00.000000');
INSERT INTO `time_task_tb_game` VALUES (32404, 'Vocabulary & Hangul', '42', '-33%', '28', 'steam', 'https://media.st.dl.pinyuncloud.com/steam/bundles/14151/1254ffogtjtvpdb8/capsule_sm_120.jpg?t=1586975955', '2021-01-08 16:51:00.000000');
INSERT INTO `time_task_tb_game` VALUES (32405, 'Vocabulary, Hiragana & Katakana', '62', '-39%', '38', 'steam', 'https://media.st.dl.pinyuncloud.com/steam/bundles/12912/js0p1h5fg8m6yliy/capsule_sm_120.jpg?t=1577179396', '2021-01-08 16:50:00.000000');
INSERT INTO `time_task_tb_game` VALUES (32406, 'Voxel Bot', '11', '-45%', '6', 'steam', 'https://media.st.dl.pinyuncloud.com/steam/apps/1095370/capsule_sm_120.jpg?t=1609498833', '2021-01-08 16:51:00.000000');
INSERT INTO `time_task_tb_game` VALUES (32407, 'W R G bundle', '108', '-56%', '48', 'steam', 'https://media.st.dl.pinyuncloud.com/steam/bundles/7397/ezqg3qh2j2h01218/capsule_sm_120.jpg?t=1528026723', '2021-01-08 16:50:00.000000');
INSERT INTO `time_task_tb_game` VALUES (32408, 'WARIUM', '6', '-50%', '3', 'steam', 'https://media.st.dl.pinyuncloud.com/steam/apps/713010/capsule_sm_120.jpg?t=1520071584', '2021-01-08 16:50:00.000000');
INSERT INTO `time_task_tb_game` VALUES (32409, 'WHAT THE GOLF?', '65.23', 'no discount', '65.23', 'epic', 'https://cdn1.epicgames.com/epic/offer/EGS_Triband_WHATTHEGOLF_S2-1280x1440-57e28856824bd25450d8c3c108aebc14.jpg?h=854&resize=1&w=640', '2021-01-08 16:46:00.000000');
INSERT INTO `time_task_tb_game` VALUES (32410, 'WRC 8 FIA World Rally Championship', '195.83', 'no discount', '195.83', 'epic', 'https://cdn1.epicgames.com/f6dcd5bf17c0469789292d1166bf91a1/offer/CodeRedemption_WRC8-340x440-5d61091860d976273aeefd283524e5d7-340x440-5d61091860d976273aeefd283524e5d7.jpg?h=854&resize=1&w=640', '2021-01-08 16:46:00.000000');
INSERT INTO `time_task_tb_game` VALUES (32411, 'WRC 9 FIA World Rally Championship', '228.48', 'no discount', '228.48', 'epic', 'https://cdn1.epicgames.com/9cf250606722448887fa1447b1d9da06/offer/EGS_WRC9FIAWorldRallyChampionship_KTRacing_S2-1200x1600-2e92991d2eb3440be53f4c41a53d1b3b.jpg?h=854&resize=1&w=640', '2021-01-08 16:46:00.000000');
INSERT INTO `time_task_tb_game` VALUES
[ERR] 1366 - Incorrect string value: '\xF0\x9F\xA7\xA0 O...' for column 'game_name' at row 1

可以看到我只需要把Values后的(到数字到,的字符取出来就可以了,这里我用到了正则表达式

 # 存储要删除表中数据的idwrond_data_id = [];# 打开错误文件列表with open("wrongdate.txt", "r",encoding='utf-8') as f:  # 打开文件data = f.read()  # 读取文件# 正则表达式提取字符ans = re.findall(r"\([0-9]*,", data);print(len(ans))for i in range(0,len(ans)):# data_id = re.find(r"[0-9]*",ans[i]);print(ans[i][1:-1]);#加入listwrond_data_id.append(ans[i][1:-1]);# wrond_data_id.append(data_id)# 删除数据表中的数据CollectDataToMysql.deleteWrongData(wrond_data_id)
def deleteWrongData(wrong_id_list):db = connectMysql()cur = db.cursor();sql = "delete from time_task_tb_game where game_id = %s"data = (wrong_id_list[i] for i in range(0,len(wrong_id_list)))cur.executemany(sql,data);db.commit();cur.close();db.close();

python 利用正则表达式删除在将一个数据库的表复制到另一个数据库出现insert失败删除原数据库数据相关推荐

  1. sql如何把一个数据库的表复制到另一个数据库中【转载】

    sql如何把一个数据库的表复制到另一个数据库中[转载] 这篇经验帖是我转载的,是我搜到的最为直观具体的 一.需要把一张表的表结构从一个数据(A)库复制到另一个数据库(B).操作步奏如下: ①在数据库A ...

  2. oracle表复制为mysql表_oracle 将数据库的表复制到另一个数据库表内

    将数据库A中的表sys_role复制到数据库B中 在数据库b中的SQL工作表写如下代码: 第一步:建立链接 CREATE database link A //数据库名称 CONNECT to text ...

  3. SQLServer 2005 数据库定阅复制实现双机热备(主要是sharepoint 内容数据库)

    SQLServer 2005 数据库定阅复制实现双机热备(主要是sharepoint 内容数据库) 原文:SQLServer 2005 数据库定阅复制实现双机热备(主要是sharepoint 内容数据 ...

  4. SQL Server将数据库中的表复制到另一个数据库

    在使用SqlServer的过程中,我们可能需要将表从一个数据库复制到另一个数据库中,今天,小编为大家介绍这种操作的具体方法及步骤. 一:复制表结构: 1.首先,打开并连接Sql Server,在源数据 ...

  5. Python利用正则表达式提取var自定义变量的值

    目标解析HTML文件中的var自定义变量的值 本文主要利用正则表达式提取页面中的var $render_datab 变量的值,$render_datab变量的值是一个json字符串. 目录 1.导入依 ...

  6. android数据库三个方法有哪些,一个三年Android开发的总结 - 常见数据库问题总结...

    Android应用开发离不开对SQLite数据库的操作,一般简单的增删改查,可以直接通过SQLiteDatabase进行,但是只要操作变得频繁,并且随着需求不断增加,你应该考虑使用ORM框架,至少使用 ...

  7. oracle数据库【表复制】insert into select from跟create table as select * from 两种表复制语句区别...

    create table  as select * from和insert into select from两种表复制语句区别 create table targer_table as select ...

  8. php文件上传并保存路径到数据库,thinkphp表单上传文件并将文件路径保存到数据库中?...

    上传单个文件,此文以上传图片为例,上传效果如图所示 创建数据库upload_img,用于保存上传路径 CREATE TABLE `seminar_upload_img` (  `id` int(11) ...

  9. 把一个数据库的表导入到另一个数据库中的方法

    db1为原数据库,db2为要导出到的数据库,fromtable 是要导出的表名 1. 登录导出到的数据库,执行 create table fromtable select * from db1.fro ...

最新文章

  1. 闲鱼同城第三方对接架构设计
  2. android中的AIDL进程间通信
  3. Python-OpenCV 处理视频(三)(四)(五): 标记运动轨迹 运动检测 运动方向判断
  4. wxWidgets:wxSplashScreen 示例
  5. CentOs7安装JDK/Tomcat/Git/Gradle
  6. Android 5.1 API 22 所有sdk文件下载地址
  7. ssh 与 locale
  8. python while循环if_20170403Python控制流if、while、for语句学习
  9. mysql ERROR 1045 和2058时(28000): 错误解决办法
  10. hadoop--windows环境配置hadoop-3.2.2
  11. python使用logging捕获异常后继续执行函数
  12. 为何网站天天更新收录还是那么慢吗
  13. Python Gensim Word2Vec
  14. python爬取2017年统计用区划代码和城乡划分代码(截止2017年10月31日)
  15. python里的def方法中->代表什么意思
  16. python torch.optim.SGD
  17. 如何将PDF分成每页单独的PDF?3种PDF拆分的方法
  18. 35岁,技术转管理,空降新团队,测试管理的10问10答
  19. 热血传奇之资源文件与地图的读取分析
  20. Linux 命令(159)—— hostname 命令

热门文章

  1. 爬虫-python -(8) 多线程与多进程操作以及线程池 异步操作
  2. iOS服务器证书不受信任的解决
  3. 初中计算机学校怎么考,初中毕业怎么考本科
  4. openlayers 移动地图中心点
  5. 【源码那些事】超详细的ArrayList底层源码+经典面试题
  6. java一键换壁纸_【Java】Java批量下载必应壁纸工具
  7. 【RL-TCPnet网络教程】第37章 RL-TCPnet之FTP客户端
  8. 魔百盒九联UNT402A_S905L3_线刷固件包_语音蓝牙正常
  9. 再来一道小菜:香辣丝瓜
  10. echarts饼图取消鼠标小手的样式