[英]Import CSV data into Google sheet by NAME using Google Script - error Sheet is not defined
[英]Using google script to import .csv files into an existing google sheet. Formatting issues.
当新的.csv文件从我的一个驱动器文件夹导入现有的Google工作表时,有没有不重复标题的方法? 我希望将.csv文件按顺序添加到现有工作表中,而不添加标题...示例-如第2行和第19行所示。 另外,按顺序使日期在A列中按顺序排列。我还有一个问题是,您知道第10行发生了什么吗? 我已经删除并在每次发生时都重新输入了新数据。 这是我现在的脚本。 这是工作表及其外观的可共享链接。 https://docs.google.com/spreadsheets/d/1f9HEwikMxm5sJzzRh_-etBxXzL0NpK47i9LtoZVCv_0/edit?usp=sharing这是我现在拥有的脚本。
function appendingCSV() {
var ss=SpreadsheetApp.getActiveSpreadsheet()
var sht=ss.getActiveSheet();
var drng = sht.getDataRange();
var lastRow = drng.getLastRow();
var data = loadFiles();
var dataA =Utilities.parseCsv(data);
if(dataA.length>0)
{
var rng = sht.getRange(lastRow + 1, 1, dataA.length, dataA[0].length);
rng.setValues(dataA);
}
else
{
SpreadsheetApp.getUi().alert('No Data Returned from LoadFiles');
}
}
function loadFiles(folderID)
{
var folderID = (typeof(folderID) !== 'undefined')? folderID :
'0B8m9xkDP_TJxUUlueHhXOWJMbjg';
var fldr = DriveApp.getFolderById(folderID);
var files = fldr.getFiles();
var s='';
var re = /^.*\.csv$/i;
while (files.hasNext())
{
var file = files.next();
var filename = file.getName();
if(filename.match(re))
{
s += file.getBlob().getDataAsString() + '\n';
file.setName(filename.slice(0,-3) + 'old');
}
}
return s;
}
function createTimeDrivenTriggers() {
// Trigger every Friday at 09:00.
ScriptApp.newTrigger('myFunction')
.timeBased()
.onWeekDay(ScriptApp.WeekDay.FRIDAY)
.atHour(9)
.create();
}
在您的loadFiles()脚本中。 尝试将其更改为此类。
function loadFiles(folderID)
{
//var folderID = (typeof(folderID) !== 'undefined')? folderID : 'Your_folder_id';
var folderID = (typeof(folderID) !== 'undefined')? folderID : 'Your_folder_id';
var fldr = DriveApp.getFolderById(folderID);
var files = fldr.getFiles();
var s='';
var re = /^.*\.csv$/i;
while (files.hasNext())
{
var file = files.next();
var filename = file.getName();
if(filename.match(re))
{
s+=file.getBlob().getDataAsString().split('\n').splice(0,1).join('\n') + '\n';
//s += file.getBlob().getDataAsString() + '\n';
file.setName(filename.slice(0,-3) + 'old');
}
}
return s;
}
您可能需要稍微玩一下。 我不确定是否需要最后一个'\\ n',而且我对链接这么多操作也不是很擅长。 但是您需要从每个文件中删除标题。 您可以编写一个提供给技术人员的本地脚本,该脚本从原始位置剥离标题,然后再返回到现在的样子。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.