删除CSV文件中的单个元素,而无需在Node JS中创建一个新元素

问题描述

我的目标是删除mailchimp中已经存在的本地CSV文件中的一些电子邮件地址。为此,我将来自mailchimp的所有电子邮件放入一个数组中。对于CSV文件中的电子邮件,我也是如此。然后,我使用 BottomNavigationBarItem _buildItem( {int index,IconData activeIcon,IconData inactiveIcon,String tabName}) { return BottomNavigationBarItem( activeIcon: Icon( activeIcon,color: _tabColor(index: index),),icon: Icon( inactiveIcon,title: Text( tabName,style: TextStyle( color: _tabColor(index: index),fontSize: 12,); } 中的_.intersection方法比较两个数组。

现在我有一个重复的所有电子邮件地址数组。但是我不知道如何只删除一个元素而不删除行或列。

这是我的代码

lodash

一个功能是从mailchimp获取所有电子邮件

第二个功能是连接数组,因为有时会有很多电子邮件地址,而且我必须多次调用API。

第三个功能是将csv的所有电子邮件地址放入一个数组中。

最后一个功能是比较两个数组,并创建所有重复电子邮件的新数组。

如何删除CSV文件const fs = require('fs'); const Papa = require('papaparse'); var mailchimpMarketing = require("@mailchimp/mailchimp_marketing"); var _ = require("lodash"); mailchimpMarketing.setConfig({ apiKey: "MY API KEY",server: "MY SERVER",}); async function getArrayEmailMembersFromMailchimpListID(listID,offset,count){ const response = await mailchimpMarketing.lists.getListMembersInfo(listID,{offset,count}); const emailsMailchimp = response.members.map(member => member.email_address); return emailsMailchimp; } async function fetchMailchimpMembersEmails(listID){ const response = await mailchimpMarketing.lists.getListMembersInfo(listID); let emailsMailchimp = []; let offset = 0; do { emailsMailchimp = _.concat(emailsMailchimp,await getArrayEmailMembersFromMailchimpListID(listID,1000)); offset += 1000; } while (offset < await response.total_items); return emailsMailchimp; } async function getArrayEmailsFromLocalCSV(csvFileLocation){ let csvContent = fs.readFileSync(csvFileLocation,"utf-8"); let { data } = Papa.parse(csvContent,{ header: true,skipEmptyLines: true }); let emailsCSV = data.map(member => member["Email"] || member["Email of the member"]); return emailsCSV; } async function compareArrayEmailsMailchimpAndCSV(arrayEmailsMailchimp,arrayEmailsCSV){ let duplicateEmails = _.intersection(await arrayEmailsMailchimp,await arrayEmailsCSV); //console.dir(duplicateEmails,{'maxArrayLength' : null}); //console.log(duplicateEmails) return duplicateEmails; } compareArrayEmailsMailchimpAndCSV (fetchMailchimpMembersEmails("LIST ID"),getArrayEmailsFromLocalCSV("myCSV.csv")); 中的所有电子邮件地址? 我无法使用所有电子邮件地址创建新的CSV。我必须更改正在使用的那个。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)