尝试将多行、不规范文档通过使用editplus正则表达式整理后导入discuz数据库。为什么不用MS word或者wps?因为操作4万行的文档, word或者wps会直接奔溃。
该文档为公务员考试常识题,共有4万多行,格式如下:
2.属于国家一类保护动物的是:->天鹅,
3.举重时运动员为什么搓白粉?->吸取手上的汗,
4.非洲国家边界按什么划分的最多?->经线或纬线,
5.举重比赛的级别是按:->按体重划分,
6.问仓储超市与其它超市最大的不同点是什么:->储售场地合一,
7.18世纪德国贵族热衷于收集并定制各种树木做的“木头书”,以木头做成的盒子,盒面用树皮制作,你知道盒子里面都用来装什么?->树叶、果实等,
8.鸵鸟受到惊吓或敌害时可能会:->会将头低垂到与地面平行,羽毛竖起,
9.最早制造香水瓶所用的原料是:->石膏,
10.持有哪种“伤残证书”,可在乘坐火车时享受购票减价待遇?->革命伤残军人证,
11.最早的四冲程内燃机用的是什么燃料?->煤气,
尝试整理成的格式为:
序号,问题,答案
2,属于国家一类保护动物的是:,天鹅
需要做的工作:
1、序号后面的“.”改为“,”;
2、由于半角逗号“,”是csv文件分隔符,因此除分隔位置之外的所有半角逗号都改成全角逗号;
3、“->”改成半角逗号;
4、每行最后的逗号直接删除;
具体步骤:
1、首先将全部半角逗号替换为全角逗号。
由于有的行中有多个半角逗号,每个半角逗号都会使程序进行字段分割,。这步骤不需要使用正则表达式。这一步一共替换了43672个半角逗号。
查找:,
替换:,
2、全部半角双引号删除或者改为全角双引号。
普通替换。
查找:"
替换:“
3、序号后面的“.”改为半角逗号。
使用正则表达式替换。
查找:^([0-9]*[0-9])\.
替换:\1,
4、“->”改成半角逗号。
普通替换。
查找:->
替换:,
5、删除每行结尾的全角逗号。
使用正则表达式替换。查找:,$
替换:
第一行加上“序号,问题,答案”,至此,文档格式整理为:
序号,问题,答案
2,属于国家一类保护动物的是:,天鹅
3,举重时运动员为什么搓白粉?,吸取手上的汗
4,非洲国家边界按什么划分的最多?,经线或纬线
5,举重比赛的级别是按:,按体重划分
6,问仓储超市与其它超市最大的不同点是什么:,储售场地合一
csv文件保存为utf8格式。
用小猫统计导入上面整理好的csv文件。导入过程中,有一行存在符号\,导致程序戳侧,改为用双引号包含之:“\”,或者直接删除该行。然后删除刚建好的表内数据,再次导入。导入结果:
向表:BGTJ 插入数据完成。
共插入40910条数据。
用时(毫秒):42667
上面整个操作,熟练的情况下,不用10分钟。
导入过程中发现仍有少量其他格式问题,如果需要,可以继续调整。此处不再赘述。
整理好的文档,点此处下载。若要使该表能被discuz内置函数正常调用,建表时,表名称前面应加上discuz表前缀。