gpt4 book ai didi

javascript - 如何使用javascript读取txt文件并将内容复制到谷歌电子表格文件中

转载 作者:行者123 更新时间:2023-12-03 01:56:24 33 4
gpt4 key购买 nike

早上好,

我的 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 );
}
}

非常感谢您的帮助!

最佳答案

这个修改怎么样?此修改后的脚本假设您使用电子表格的容器绑定(bind)脚本。

修改点:

  • 使用 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
}

注意:

  • 在此修改后的脚本中,csv 数据被放入绑定(bind)脚本的电子表格中。
  • 请修改分隔符。在此脚本中,使用 \t 作为分隔符。

引用文献:

关于javascript - 如何使用javascript读取txt文件并将内容复制到谷歌电子表格文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50208858/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com