![](/img/trans.png)
[英]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.