Google Apps Script如何提取Google Drive中CSV文件的单个字段值
Utilities.parseCsv() 解析CSV后返回的是二维数组结构,第一层索引对应CSV的行,第二层索引对应每行的字段,所有索引均从0开始计数。你之前把整行数据转成了字符串,自然无法按单独字段提取取值,不需要做toString转换,直接用原始的二维数组结构取值即可。
你要获取示例日志里第二行的第三个邮箱字段,直接通过二维索引取值即可:
// 行索引1对应CSV第二行,字段索引2对应每行的第三个字段 var email = csvData[1][2];
添加Logger.log(email)即可直接打印输出目标邮箱地址。
从你后续的JSON打印结果来看,你的CSV文件中每个字段值外层额外包裹了单引号,如果后续使用需要去除首尾多余的单引号,可以用正则匹配处理:
var cleanEmail = email.replace(/^'|'$/g, '');
以下是完整修改后的代码示例:
function importCSVFromGoogleDrive() { var file = DriveApp.getFilesByName('file2.csv').next(); Logger.log(file.getSize()); Logger.log(file.getName()); Logger.log(file.getDateCreated()); var csvData = Utilities.parseCsv(file.getBlob().getDataAsString()); // 提取第二行第三个邮箱字段 var email = csvData[1][2]; // 可选:去除字段外层多余的单引号 var cleanEmail = email.replace(/^'|'$/g, ''); Logger.log('提取到的邮箱:' + cleanEmail); // 原有后续业务逻辑 var group = ContactsApp.getContactGroup("System Group: My Contacts"); }
内容的提问来源于stack exchange,提问作者Thomas Kast
相关产品推荐
相关产品推荐

