javascript - 如何将不带标题的 CSV 文件中的数据附加到 Google 表格中
问题描述
我已经设法检索数据并将其附加到我的工作表中,但我还没有弄清楚如何排除标题行。
function importFromCSV() {
var fileName = Browser.inputBox("Ingrese archivo en Drive a importar (ej. datosBaby.csv):");
var searchTerm = "title = '"+fileName+"'";
// search for our file
var files = DriveApp.searchFiles(searchTerm)
var csvFile = "";
// Loop through the results
while (files.hasNext()) {
var file = files.next();
// assuming the first file we find is the one we want
if (file.getName() == fileName) {
// get file as a string
csvFile = file.getBlob().getDataAsString();
break;
}
}
// parseCsv returns a [][] array and writes to the sheet
var csvData = Utilities.parseCsv(csvFile);
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
// data to a sheet
sheet.getRange(sheet.getLastRow()+1, 1, csvData.length, csvData.length).setValues(csvData);
//sheet.getRange(1, 1, csvData.length, csvData[1].length).setValues(csvData); <-- This one places txt a A1
//sheet.appendRow(csvData[1]); <-- This one does not work
}
以下是正在发生的事情的示例: 重复 CSV 导入的标头
感谢任何可以为我指明正确方向的人。我是这方面的初学者。
解决方案
拼接方法是正确的,但在上面的解决方案中,它返回标头的值,并且不会删除标头。删除表头需要的是使用 splice 函数并告诉它从第二行开始直到结束。这看起来像这样:
var csvDataNoHeader = csvData.splice(1,csvData.length-1)
这告诉函数从数组的第二个元素开始并选择之后的所有元素,负 1 表示删除标题。
推荐阅读
- python-3.x - Tweepy:切换应用程序和用户身份验证
- json - 如何用不同类型的相同变量解组
- php - 如何 SQL 查询特定 JSON 格式的父子节点?
- f# - 无法在 HttpMethod 上进行模式匹配
- spring-boot - 如何有效地从 Spring Data jpa 中具有额外列的连接表中删除?
- java - 如何使用井号显示文档
- ios - 在 iOS Swift 上发布到 Instagram 屏幕
- php - 为什么语法错误,脚本中出现意外的“回声”(T_ECHO)?
- javascript - 刷新浏览器窗口时,带有keycloak js身份验证中间件的nuxt js页面重新加载了两次?nuxtjs路由器不等到promise解决
- php - 是否可以为每个客户端使用具有多个数据库的相同 PHP 代码?