我目前正在使用objects-to-csv
包下载CSV格式的数据,似乎这个包缺少跨不同表传播数据的功能,而不是将所有内容放在一个表中。
这里是我的代码,如果有帮助,但我的主要问题是,如果有任何其他方法来做到这一点?
const objectstocsv = require("objects-to-csv");
const app = express();
app.get("/", async (req, res) => {
const forumData = await getForumData();
const redditData = await getRedditData();
const allData = forumData.concat(redditData)
const csv = new objectstocsv(allData) <== Puts it all into one table
console.log(csv, "testing result")
// Save to file:
await csv.toDisk("./test.csv", { allColumns: true });
res.download("./test.csv", () => {
fs.unlinkSync("./test.csv");
});
});
CSV文件的典型格式是每个文件一个表。我不知道你是如何试图将两个可能不同的记录布局组合成一个CSV文件。
另一个选项是输出两个CSV文件:
const forumData = await getForumData();
const redditData = await getRedditData();
const csvForum = new ObjectsToCsv(forumData);
const csvReddit = new ObjectsToCsv(redditData);
// Save to file:
csvForum.toDisk('./forum.csv', { allColumns: true });
csvReddit.toDisk('./reddit.csv', { allColumns: true });
然后你可以任意组合CSV文件。