如何将word文档中的表格数据快速转化成sql语句添加到数据库中? |
您所在的位置:网站首页 › word如何将数据转换为表格 › 如何将word文档中的表格数据快速转化成sql语句添加到数据库中? |
当我们得到word文档的数据的时候,想要在数据库建成相应的表,原始人(曾经的我)选择一条条ctrl C V 复制粘贴,耗时且繁琐,毫无技术性(不高级)。 java情报局研究中心的组长告诉我,使用 idea正则表达式全局替换,yyds! (以上为废话引用 当原始人看到表格数据,头大且头疼:这得复制到ctrl键都出油了 想要把表格数据转换成sql语句,步骤如下 1. 在IDEA中创建文本文件 2. 将表格复制到文本文件中 3. 快捷键 ctrl + R 替换功能 4. 打开正则表达式功能 5. 输入替换前的表达式和替换后的表达式 首先,每行数据加 (). 替换前表达式 ^(.+)$^ 匹配字符串的开始 $ 匹配字符串的结束 . 匹配除换行符\n以外的任意字符 ( ) 是为了提取匹配的字符串 + 匹配前面的字符、表达式至少一次 替换后表达式 ($1),$1 代表第一个参数 (), 加在第一个参数上 一行为一个参数 接下来,将每一行的字段加单引号 替换前表达式 ([^\s,()]+)\s 匹配任意的空白符 [ ] 匹配[ ] 内的任意一个字符( []是定义匹配的字符范围) 替换后表达式 '$1',最后,将生日转换成yyyy-MM-dd 替换前表达式 (\d+)/(\d+)/(\d+)\d 匹配数字 + 匹配前面的字符、表达式至少一次 () 为了提取匹配字符串的 替换后表达式 $3-$1-$2替换中$x代表第x个单元,如 $1表示第1个单元; 最后 加上mysql格式 INSERT INTO student(stuId,stuName,sex,birthday,nation,nativePlace,majorId) VALUES ('07042219', '黄耀', '男', '1989-01-02', '汉', '黑龙江省牡丹江市', '0403'), ('06041138', '华美', '女', '1987-11-09', '汉', '河北省保定市', '0403'), ('07045120', '刘权利', '男', '1989-10-20', '回', '湖北省武汉市', '0403'), ('08055117', '王燕', '女', '1990-08-02', '回', '河南省安阳市', '0501'), ('08045142', '郝明星', '女', '1989-11-27', '满', '辽宁省大连市', '0403'), ('08053101', '高猛', '男', '1990-02-03', '汉', '湖北生黄石市', '0501'), ('08053124', '多桑', '男', '1988-10-26', '藏', '西藏', '0501'), ('08053160', '郭政强', '男', '1989-06-10', '土家', '湖南省吉首', '0501'), ('08053116', '陆敏', '女', '1990-03-18', '汉', '广东省东莞', '0501'), ('08053131', '林惠萍', '女', '1989-12-04', '壮', '广西省柳州市', '0501'), ('07093305', '郑家谋', '男', '1988-03-24', '汉', '上海市', '0904'), ('07093342', '罗家艳', '女', '1988-05-16', '满', '北京市', '0904'), ('07093325', '史玉磊', '男', '1988-09-11', '汉', '湖北省孝感市', '0904'), ('07093317', '凌晨', '女', '1988-06-28', '汉', '浙江省温州', '0904'), ('08041136', '徐栋梁', '男', '1989-12-20', '回', '陕西咸阳', '0403'), ('08041127', '巴朗', '男', '1989-09-25', '蒙古', '内蒙古', '0403');完成! 回顾正则表达式规则 \d 匹配数字 ^ 匹配字符串的开始 $ 匹配字符串的结束 \s 匹配任意的空白符 (\s*)表示连续空格的字符串。 {}一般用来表示匹配的长度 \s{1,3}表示匹配一到三个空格。 (0-9) 匹配 '0-9′ 本身 [0-9]+ 匹配数字 +不可以为空 [0-9]{0,9} 表示长度为 0 到 9 的数字字符串。
正则中(xx)代表此处是一个单元; 替换中$x代表第x个单元,如 $1表示第1个单元; /l$x:小写第x个单元,如 /l$1表示小写第1个单元的首字母; \l 第一个字母转小写 \L 从第一个字母到最后转小写 \u 第一个字母转大写 \U 从第一个到最后全部转大写 /u$x:大写第x个单元,如 /u$2表示大写第2个单元的首字母;
如有错误或有更好的办法,欢迎评论! |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |