猿问

如何使用Nodejs将文件夹中的数据作为文件名写入CSV文件

Anty body确实使用javascript将文件夹中的文件名写入CSV文件

我的文件夹结构是

Data
 +IMG
    +test
       -1.png
       -2.png
    +train
       -3.png
       -4.png

输出 CSV 文件将是这样的

Data/IMG/test/1.png     Data/IMG/train/3.png
Data/IMG/test/2.png     Data/IMG/train/4.png


qq_花开花谢_0
浏览 160回答 1
1回答

墨色风雨

您只需要遍历所有文件夹并找到所有文件。您可以参考此答案来执行此操作。当您找到所有文件的路径时,您可以将这些路径写入 csv 文件的字符串中:const fs = require('fs');const path = require('path');let csvStr = "";async function loop(startPath) {    // Our starting point    try {        // Get the files as an array        const files = await fs.promises.readdir(startPath);        // Loop them all with the new for...of        for (const file of files) {            // Get the full paths            const currentPath = path.join(startPath, file);            // Stat the file to see if we have a file or dir            const stat = await fs.promises.stat(currentPath);            if (stat.isFile()) {                console.log("'%s' is a file.", currentPath);                // put the file into csv string                csvStr += currentPath + ", "            } else if (stat.isDirectory()) {                console.log("'%s' is a directory.", currentPath);                // enter the dictionary and loop                await loop(currentPath);            }        } // End for...of    } catch (e) {        // Catch anything bad that happens        console.error("We've thrown! Whoops!", e);    }}// Make an async function that gets executed immediately(async () => {    // start loop from the path where you run node    await loop("./");    fs.writeFileSync("your.csv", csvStr);})();
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答