【发布时间】:2021-02-04 09:27:59
【问题描述】:
我的目标是删除 CSV 中 mailchimp 中已有电子邮件地址的每一行。
我试过这个函数,但它没有给我正确数量的元素:
async function testDeleteEmails(listID, csvFileLocation){
csvContent = fs.readFileSync(csvFileLocation, "utf-8");
let { data } = Papa.parse(csvContent, { header: true, skipEmptyLines: true });
let duplicateEmails = await compareArrayEmailsMailchimpAndCSV (fetchMailchimpMembersEmails(listID), getArrayEmailsFromLocalCSV(csvFileLocation))
let newCSV = _.filter(data, function(row){
return _.includes(duplicateEmails, row["Email of user"])
})
console.log(newCSV)
}
testDeleteEmails("MY LIST ID", ".../myCSV.csv")
compareArrayEmailsMailchimpAndCSV 是一个函数,用于获取所有重复电子邮件地址的数组(那些在 mailchimp 和我的 CSV 中)
我在 mailchimp 中有 1058 个电子邮件地址。我的 CSV 中有 960 个电子邮件地址,我的函数 compareArrayEmailsMailchimpAndCSV 给了我 797 个电子邮件地址,所以如果我是正确的,我有 163 个电子邮件地址可以保存在我的 CSV 中。当我使用testDeleteEmails 函数时,它给了我 869 个电子邮件地址,这不是我想要的。我是不是用错了lodash方法?
知道我必须动态执行此操作,因为我必须使用其他列表和 CSV 文件执行此操作。
我知道函数没有完成,当newCSV 数据正确时,我只需要解开数据并将其放入 CSV 文件中。
【问题讨论】:
-
请提供一个更简单的例子
-
是的对不起,我要编辑我的帖子
标签: javascript node.js arrays lodash mailchimp