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
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
TA贡献1609条经验 获得超6个赞
您只需要遍历所有文件夹并找到所有文件。您可以参考此答案来执行此操作。
当您找到所有文件的路径时,您可以将这些路径写入 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);
})();
举报