gpt4 book ai didi

google-apps-script - 如何阅读txt。文件,将内容复制到新文件中并替换某些内容

转载 作者:行者123 更新时间:2023-12-04 02:02:07 28 4
gpt4 key购买 nike

我有一个 .txt在线文件填充了文本,例如:

"Type": "Internal",
"Category": 1,
"Presentation": 3,
...

我想使用 Apps Script 读出该文件的内容,并最终将其保存在一个包含修改内容的新文件中。具体来说,我需要删除某些内容的下划线,但保持其余内容完好无损。

最佳答案

Apps Script 使用 JavaScript 编程语言。对于在 Google 服务器上运行的 Apps 脚本代码,JavaScript 代码将位于 .gs 中。 “脚本”文件。 JavaScript 最初是为“客户端”使用而创建的,这意味着它在您在计算机上打开的浏览器(不是 Google 的服务器)中运行。在客户端 JavaScript 中,代码被放入 HTML <script>标签。但是 Apps Script 也将 JavaScript 用于服务器端代码,它用于两者。

如果文本文件在您的 Google 云端硬盘中,您可以通过多种方式访问​​它。一种方法是使用 Drive Service

以下是一些可以从 Google Drive 获取文件的示例代码:

var allFilesInFolder,cntFiles,docContent,fileNameToGet,fldr,
thisFile,whatFldrIdToUse;//Declare all variable at once

whatFldrIdToUse = '123ABC_Put_Your_Folder_ID_here';
fileNameToGet = 'myText.txt';//Assign the name of the file to get to a variable

//Get a reference to the folder
fldr = DriveApp.getFolderById(whatFldrIdToUse);

//Get all files by that name. Put return into a variable
allFilesInFolder = fldr.getFilesByName(fileNameToGet);
Logger.log('allFilesInFolder: ' + allFilesInFolder);

if (allFilesInFolder.hasNext() === false) {
//If no file is found, the user gave a non-existent file name
return false;
};

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()) {
thisFile = allFilesInFolder.next();
cntFiles = cntFiles + 1;
Logger.log('File Count: ' + cntFiles);

docContent = thisFile.getAs('text/plain');
Logger.log('docContent : ' + docContent );
};

要查看代码生成的值,请进入“日志”对话框。单击“查看”菜单,然后从菜单中选择“日志”。 Logger.log()语句将内容打印到日志。

您为示例提供的内容看起来像 JSON。您可以使用 JSON.parse() 将 JSON 格式的字符串转换为对象。从那里您可以添加或更改值。如果您想在将 JSON 放回文本文件之前将其转换回字符串,您可以使用 JSON.stringify()

JSON reference Mozilla

为了在字符串中查找特定字符,您需要学习 JavaScript 字符串函数。

要替换某段文本的所有出现,您可以使用 replace :

Information about replace()

关于google-apps-script - 如何阅读txt。文件,将内容复制到新文件中并替换某些内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24366253/

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