Google Apps 脚本中的制表符转换为空格
Tab characters converted to spaces in Google Apps Script
我有一个正在编写的 Google Apps 脚本,它将许多报告组合成统一的制表符分隔 (TSV) 格式。但是,我注意到每当我写入文件时,字符串中的制表符都会被转换为空格。我应该使用其他一些字符串文字吗?
var content =
data.parameters.time[0] + "\t" +
data.parameters.url[0] + "\t" +
data.parameters.code_name[0] + "\t" +
data.parameters.app_name[0] + "\t" +
data.parameters.version[0] + "\t" +
data.parameters.cookies[0] + "\t" +
data.parameters.lang[0] + "\t" +
data.parameters.platform[0] + "\t" +
data.parameters.user_agent[0] + "\t" +
data.parameters.ex[0];
fld.createFile(makeid() + ".tab", content, ContentService.MimeType.CSV);
使用 \t
字符串文字没有任何问题 - 而是您使用了来自 ContentService. DriveApp methods expect MimeType
as a string 的错误 MimeType
枚举。尝试:
fld.createFile(makeid() + ".tab", content, MimeType.CSV);
这是一个片段,显示了在正确设置 MimeType 时制表符在文件写入后仍然存在:
function myFunction() {
var content =
'time' + "\t" +
'url' + "\t" +
'code_name' + "\t" +
'etcetera';
Logger.log("Initial TSV: " + JSON.stringify(content.split("\t")));
var newFile = DriveApp.createFile("Delete-me" + ".tab", content, MimeType.CSV);
// Check our result, by reading back the file
var blob = newFile.getBlob();
var docContent = blob.getDataAsString()
Logger.log("Result TSV: " + JSON.stringify(docContent.split("\t")));
}
日志:
[15-04-07 14:53:08:767 EDT] Initial TSV: ["time","url","code_name","etcetera"]
[15-04-07 14:53:09:542 EDT] Result TSV: ["time","url","code_name","etcetera"]
我有一个正在编写的 Google Apps 脚本,它将许多报告组合成统一的制表符分隔 (TSV) 格式。但是,我注意到每当我写入文件时,字符串中的制表符都会被转换为空格。我应该使用其他一些字符串文字吗?
var content =
data.parameters.time[0] + "\t" +
data.parameters.url[0] + "\t" +
data.parameters.code_name[0] + "\t" +
data.parameters.app_name[0] + "\t" +
data.parameters.version[0] + "\t" +
data.parameters.cookies[0] + "\t" +
data.parameters.lang[0] + "\t" +
data.parameters.platform[0] + "\t" +
data.parameters.user_agent[0] + "\t" +
data.parameters.ex[0];
fld.createFile(makeid() + ".tab", content, ContentService.MimeType.CSV);
使用 \t
字符串文字没有任何问题 - 而是您使用了来自 ContentService. DriveApp methods expect MimeType
as a string 的错误 MimeType
枚举。尝试:
fld.createFile(makeid() + ".tab", content, MimeType.CSV);
这是一个片段,显示了在正确设置 MimeType 时制表符在文件写入后仍然存在:
function myFunction() {
var content =
'time' + "\t" +
'url' + "\t" +
'code_name' + "\t" +
'etcetera';
Logger.log("Initial TSV: " + JSON.stringify(content.split("\t")));
var newFile = DriveApp.createFile("Delete-me" + ".tab", content, MimeType.CSV);
// Check our result, by reading back the file
var blob = newFile.getBlob();
var docContent = blob.getDataAsString()
Logger.log("Result TSV: " + JSON.stringify(docContent.split("\t")));
}
日志:
[15-04-07 14:53:08:767 EDT] Initial TSV: ["time","url","code_name","etcetera"]
[15-04-07 14:53:09:542 EDT] Result TSV: ["time","url","code_name","etcetera"]