问题描述
我的目标是删除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
第二个功能是连接数组,因为有时会有很多电子邮件地址,而且我必须多次调用API。
最后一个功能是比较两个数组,并创建所有重复电子邮件的新数组。
如何删除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 (将#修改为@)