আপনি নোডজেএস চালাচ্ছেন এবং আপনার ডেটা নীচের ফর্মটিতে থাকলে ডাবল উদ্ধৃতি + কমা এবং new n নতুন লাইন) আমি একটি নোডজেএস আমদানি স্ক্রিপ্ট তৈরি করেছি
INSERT INTO <your_table> VALUEs( **CSV LINE **)
এই একটি http: // লোকালহোস্ট: 5000 / আমদানিতে চালনার জন্য কনফিগার করা হয়েছে ।
আমি এক লাইনে গিয়ে ক্যোরি স্ট্রিং তৈরি করি
"city","city_ascii","lat","lng","country","iso2","iso3","id"
"Tokyo","Tokyo","35.6850","139.7514","Japan","JP","JPN","1392685764",
...
server.js
const express = require('express'),
cors = require('cors'),
bodyParser = require('body-parser'),
cookieParser = require('cookie-parser'),
session = require('express-session'),
app = express(),
port = process.env.PORT || 5000,
pj = require('./config/config.json'),
path = require('path');
app.use(bodyParser.json());
app.use(cookieParser());
app.use(cors());
app.use(
bodyParser.urlencoded({
extended: false,
})
);
var Import = require('./routes/ImportRoutes.js');
app.use('/import', Import);
if (process.env.NODE_ENV === 'production') {
// set static folder
app.use(express.static('client/build'));
app.get('*', (req, res) => {
res.sendFile(path.resolve(__dirname, 'client', 'build', 'index.html'));
});
}
app.listen(port, function () {
console.log('Server is running on port: ' + port);
});
ImportRoutes.js
const express = require('express'),
cors = require('cors'),
fs = require('fs-extra'),
byline = require('byline'),
db = require('../database/db'),
importcsv = express.Router();
importcsv.use(cors());
importcsv.get('/csv', (req, res) => {
function processFile() {
return new Promise((resolve) => {
let first = true;
var sql, sqls;
var stream = byline(
fs.createReadStream('../PATH/TO/YOUR!!!csv', {
encoding: 'utf8',
})
);
stream
.on('data', function (line, err) {
if (line !== undefined) {
sql = 'INSERT INTO <your_table> VALUES (' + line.toString() + ');';
if (first) console.log(sql);
first = false;
db.sequelize.query(sql);
}
})
.on('finish', () => {
resolve(sqls);
});
});
}
async function startStream() {
console.log('started stream');
const sqls = await processFile();
res.end();
console.log('ALL DONE');
}
startStream();
});
module.exports = importcsv;
db.js হ'ল কনফিগার ফাইল
const Sequelize = require('sequelize');
const db = {};
const sequelize = new Sequelize(
config.global.db,
config.global.user,
config.global.password,
{
host: config.global.host,
dialect: 'mysql',
logging: console.log,
freezeTableName: true,
pool: {
max: 5,
min: 0,
acquire: 30000,
idle: 10000,
},
}
);
db.sequelize = sequelize;
db.Sequelize = Sequelize;
module.exports = db;
দাবি অস্বীকার: এটি একটি নিখুঁত সমাধান নয় - আমি কেবল এটি ডেভসদের জন্য পোস্ট করছি যারা একটি সময়রেখার অধীনে রয়েছে এবং আমদানির জন্য প্রচুর ডেটা রয়েছে এবং এই হাস্যকর সমস্যার মুখোমুখি হচ্ছে। আমি এতে অনেক সময় হারিয়েছি এবং আমি আশা করি অন্য দেবকে একই হারানো সময়টি রক্ষা করতে পারি।