第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

我可以動(dòng)態(tài)地將一個(gè)數(shù)組插入到我從正則表達(dá)式匹配生成的 mysql 中嗎?

我可以動(dòng)態(tài)地將一個(gè)數(shù)組插入到我從正則表達(dá)式匹配生成的 mysql 中嗎?

富國(guó)滬深 2023-06-09 10:56:41
首先,如果標(biāo)題不準(zhǔn)確,我深表歉意,但我正在努力尋找能夠準(zhǔn)確描述我的問(wèn)題的詞語(yǔ)。我正在做一個(gè)項(xiàng)目,我試圖記錄我從爬蟲(chóng)編譯的 Twitter 信息,目前是 CSV 格式。我使用 csvtojson 將該信息轉(zhuǎn)換為 JSON,但我遇到了問(wèn)題。我試圖將推文中的每個(gè)詞單獨(dú)分開(kāi),然后將 CSV 中該特定行的其余信息應(yīng)用于該特定詞。這是“成功”結(jié)果的示例:我只是不確定如何拆分我創(chuàng)建的數(shù)組,我可以在其中將每個(gè)單詞作為一個(gè)新行應(yīng)用到數(shù)組中。我假設(shè)我需要分開(kāi)插入數(shù)據(jù)的方式,但我不確定該怎么做?const fileName = "items.csv";csvtojson().fromFile(fileName).then(source => {// Console log initial CSV data// console.log(source);for (var i = 0; i < source.length; i++) {    var tweets__contentText = source[i]["tweets__contentText"],        tweets__conversationId = source[i]["tweets__conversationId"],        tweets__replies = source[i][" tweets__replies"],        tweets__retweets = source[i]["tweets__retweets"],        tweets__favorites = source[i]["tweets__favorites"],        tweets__dateTime = source[i]["tweets__dateTime"],        tweets__tweetId = source[i]["tweets__tweetId"]    var tweets__modified = tweets__contentText.match(/\b(\w+)\b/g);    console.log(tweets__modified);    var insertStatement = `INSERT INTO ctdata values(?, ?, ?, ?, ?, ?, ?, ?)`;    var items = [tweets__modified, tweets__contentText, tweets__conversationId, tweets__replies, tweets__retweets, tweets__favorites, tweets__dateTime, tweets__tweetId];    // Insert data of current row into database    db.query(insertStatement, items, (err, results, fields) => {        if (err) {            console.log("Unable to insert item at row ", i + 1);            return console.log(err);        }    });}console.log("All items stored into database successfully!");});
查看完整描述

1 回答

?
蕪湖不蕪

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超7個(gè)贊

要插入多條記錄,SQL 格式類(lèi)似于:


INSERT INTO table_name (column_name_1, column_name_2, column_name_3)

VALUES

    (?, ?, ?),

    (?, ?, ?),

    (?, ?, ?)

    ...

;

所以我們需要按照上面的格式構(gòu)造查詢,根據(jù)它我已經(jīng)用更改重寫(xiě)了你的部分代碼


var tweets__modified = tweets__contentText.match(/\b(\w+)\b/g);

console.log(tweets__modified);


// creating a string for numbers of records we want to create

var sql_insert_statement = tweets__modified.map((record) => '(?, ?, ?, ?, ?, ?, ?, ?)').join(', ');


// appending the above string to create a final SQL query

var insertStatement = `INSERT INTO ctdata ("tweets__singleWord", "tweets__contentText", "tweets__conversationId", "tweets__replies", "tweets__retweets", "tweets__favorites", "tweets__dateTime", "tweets__tweetId") values ${sql_insert_statement}`;


// creating a SQL query data in which 

// we have all the columns data for a record 

// times the number of recrods

var insertStatementItems = tweets__modified.reduce((acc, record) => { 

    acc = [...acc, record, tweets__contentText, tweets__conversationId, tweets__replies, tweets__retweets, tweets__favorites, tweets__dateTime, tweets__tweetId];

    return acc; // was missing

}, []);


console.log({ insertStatement, insertStatementItems });


// Insert data of current row into database

db.query(insertStatement, insertStatementItems, (err, results, fields) => {

    if (err) {

        console.log("Unable to insert item at row ", i + 1);

        return console.log(err);

    }

});

注意:但是請(qǐng)注意,您的代碼還有另一個(gè)問(wèn)題,如果您期望console.log("All items stored into database successfully!");在所有插入操作之后打印這一行,那是錯(cuò)誤的。由于它是異步代碼,因此在執(zhí)行任何操作之前將首先打印此行。我添加了兩段代碼來(lái)解決這個(gè)問(wèn)題。


如果您的環(huán)境支持異步/等待,那么這段代碼可能對(duì)您有所幫助

const fileName = "items.csv";


csvtojson().fromFile(fileName)

.then(async (source) => {

    

    // Console log initial CSV data

    // console.log(source);

    

    db_insert_promises = []

    

    for (var i = 0; i < source.length; i++) {

        var tweets__contentText = source[i]["tweets__contentText"],

        tweets__conversationId = source[i]["tweets__conversationId"],

        tweets__replies = source[i][" tweets__replies"],

        tweets__retweets = source[i]["tweets__retweets"],

        tweets__favorites = source[i]["tweets__favorites"],

        tweets__dateTime = source[i]["tweets__dateTime"],

        tweets__tweetId = source[i]["tweets__tweetId"]

        

        var tweets__modified = tweets__contentText.match(/\b(\w+)\b/g);

        console.log(tweets__modified);

        

        var sql_insert_statement = tweets__modified.map((record) => '(?, ?, ?, ?, ?, ?, ?, ?)').join(', ');

        var insertStatement = `INSERT INTO ctdata values ${sql_insert_statement}`;

        var insertStatementItems = tweets__modified.reduce((acc, record) => { 

            acc = [...acc, record, tweets__contentText, tweets__conversationId, tweets__replies, tweets__retweets, tweets__favorites, tweets__dateTime, tweets__tweetId];

            return acc; // was missing

        }, []);

        

        // Insert data of current row into database

        db_insert_promise_for_tweet = await new Promise(function(resolve, reject) {

            db.query(insertStatement, insertStatementItems, (err, results, fields) => {

                if (err) return reject(err);

                return resolve(results, fields);

            });

        });

    }

    

    console.log("All items stored into database successfully!");

})

.catch(console.error);

如果您的環(huán)境不支持異步/等待,那么這段代碼可能會(huì)對(duì)您有所幫助

const fileName = "items.csv";


csvtojson().fromFile(fileName)

.then(source => {

    

    // Console log initial CSV data

    // console.log(source);


    db_insert_promises = []

    

    for (var i = 0; i < source.length; i++) {

        var tweets__contentText = source[i]["tweets__contentText"],

        tweets__conversationId = source[i]["tweets__conversationId"],

        tweets__replies = source[i][" tweets__replies"],

        tweets__retweets = source[i]["tweets__retweets"],

        tweets__favorites = source[i]["tweets__favorites"],

        tweets__dateTime = source[i]["tweets__dateTime"],

        tweets__tweetId = source[i]["tweets__tweetId"]

        

        var tweets__modified = tweets__contentText.match(/\b(\w+)\b/g);

        console.log(tweets__modified);

        

        var sql_insert_statement = tweets__modified.map((record) => '(?, ?, ?, ?, ?, ?, ?, ?)').join(', ');

        var insertStatement = `INSERT INTO ctdata values ${sql_insert_statement}`;

        var insertStatementItems = tweets__modified.reduce((acc, record) => { 

            acc = [...acc, record, tweets__contentText, tweets__conversationId, tweets__replies, tweets__retweets, tweets__favorites, tweets__dateTime, tweets__tweetId];

            return acc; // was missing

        }, []);

        

        // Insert data of current row into database

        db_insert_promise_for_tweet = new Promise(function(resolve, reject) {

            db.query(insertStatement, insertStatementItems, (err, results, fields) => {

                if (err) return reject(err);

                return resolve(results, fields);

            });

        });

        db_insert_promises.push(db_insert_promise_for_tweet);

    }


    return Promise.all(db_insert_promises);

})

.then((result_of_all_insert_query) => {

    console.log({ result_of_all_insert_query });

    console.log("All items stored into database successfully!");

})

.catch(console.error);


查看完整回答
反對(duì) 回復(fù) 2023-06-09
  • 1 回答
  • 0 關(guān)注
  • 124 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)