|

楼主 |
发表于 2020-4-13 20:56:58
|
显示全部楼层
本帖最后由 wp231957 于 2020-4-13 21:00 编辑
NODE+MYSQL 版 从文本文件导入数据表
这里面坑也不少,好几千条数据,只要有一条数据不符合要求,整个sql语句就不执行
,但是这极个别的数据,从几千条里筛选 肉眼还真办不到,好在终于实现
- let fs = require('fs');
- let mysql = require('mysql');
- let config = {
- host : 'localhost',
- user : 'root',
- password : '123456',
- database : 'wpdata'
- };
- let pool = mysql.createPool(config);
- //构造单词信息
- var arr=new Array();
- fs.readFile('./商务英语词汇 copy.txt', {flag: 'r+', encoding: 'utf8'}, function (err, data) {
- if(err) {
- console.error(err);
- return;
- }
- s=data.split("\n");
- s.forEach(function(cval, index, sarr){
- var tmp=cval.replace(/\r\n/gm,"").split("=",2); //只分割第一个标识符 后面即使存在 也不分割
- if (tmp.length==2){ //原始文件中个别行不符合要求
- arr.push(tmp);
- }
- });
- //把单词信息写入数据库(此处用的是批量插入记录)
- sql2="INSERT INTO wordb (ename,chname) VALUES ?";
- pool.getConnection((err, connection) => {
- if (err) {
- console.error(err);
- }
- else
- {
- connection.query(sql2,[arr],(err, rows)=>{ //arr.slice(126,128) 截取数组
- if (err) {
- console.error(err);
- }
- else
- {
- console.log("插入数据成功");
- connection.release();
- pool.end();
- };
- });
- };
-
- });
- });
复制代码 |
|