[英]How to read the content of a .txt file as an array with javascript?
[英]How to read txt file and copy the content into a google spreadsheet file using javascript
早上好,
我的 Google 驱动器上有一个文本文件,其中包含许多由数据填充的行和列。
数据示例
ANNO MESE GIORNO D01 D02 D03 D04 D05
2012 4 20 0 2 0 0 0
2012 4 21 0 0 3 0 0
2012 4 22 0 4 0 0 0
2012 4 23 0 0 0 6 0
2012 4 24 0 0 0 0 7
我想访问此文件并使用 Google 电子表格脚本(javascript 语言)将内容复制到 Google 电子表格文件中。
我尝试使用以下代码,但由于我是该语言的新手,我不知道如何访问数据。
function LoadData() { var FldrId = '1-Ao-MQMv_VxKF5uajG1o4j5dhVRWDk76'; var FileName = 'TEST_Report_USA.txt'; //Reference to the folder var fldr = DriveApp.getFolderById(FldrId); //Get files by that name var allFilesInFolder = fldr.getFilesByName(FileName); Logger.log('allFilesInFolder: ' + allFilesInFolder); if (allFilesInFolder.hasNext() === false) { return false; }; var cntFiles = 0; //Even if it's only one file, must iterate a while loop in order to access the file (Google drive will allow multiple files of the same name) while (allFilesInFolder.hasNext()) { var thisFile = allFilesInFolder.next(); cntFiles = cntFiles + 1; Logger.log('File Count: ' + cntFiles); var docContent = thisFile.getAs('text/plain'); Logger.log('docContent : ' + docContent ); } }
非常感谢您的帮助!
这个改装怎么样? 此修改后的脚本假定您使用电子表格的容器绑定脚本。
getBlob()
从文件中检索 blob。getDataAsString()
从 blob 中检索文本数据。Utilities.parseCsv()
将文本数据解析为 csv 数据。setValues()
将 csv 数据放入电子表格。对于这些修改点,请进行如下修改。
while (allFilesInFolder.hasNext()) {
var thisFile = allFilesInFolder.next();
cntFiles = cntFiles + 1;
Logger.log('File Count: ' + cntFiles);
var docContent = thisFile.getAs('text/plain');
Logger.log('docContent : ' + docContent );
}
var delimiter = "\t"; // Added
while (allFilesInFolder.hasNext()) {
var thisFile = allFilesInFolder.next();
cntFiles = cntFiles + 1;
Logger.log('File Count: ' + cntFiles);
var docContent = thisFile.getBlob().getDataAsString(); // Modified
Logger.log('docContent : ' + docContent );
var csv = Utilities.parseCsv(docContent, delimiter); // Added
ss.getRange(ss.getLastRow() + 1, 1, csv.length, csv[0].length).setValues(csv); // Added
}
delimiter
。 在此脚本中, \\t
用作分隔符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.