nodejs 将字符串转换为数组以上传到 google 张
nodejs turn string into array to upload to google sheets
主要目标
- 从 google sheet 选项卡中检索字符串。
- 编辑字符串以删除 "s 和 ,s。
- 将要上传的字符串重新格式化为 google sheets.
我已经完成了目标的前两项任务。虽然我会详细说明情况。
我正在查询 google sheet 到 return 包含指定字符串的行,以便可以将其添加到新的 sheet。目前我已经能够很好地检索该行。返回的数据看起来像这样。
"12/24/2020, 3:40:33 PM","SanguineDepths+5","The Key Is
Timed","1000","Aegwynn","@name @name @name @[Manager]
name-name","name#0000 name#0000 name#0000
name#0000","Advertiser-Realm","testing-testing","Ticket","33p2bdlfto9g45","Customer-Realm","Horde",""
然后我使用以下代码删除了所有的 "s 和 ,s。
const result = `"12/24/2020, 3:40:33 PM","SanguineDepths+5","The Key Is Timed","1000","Aegwynn","@name @name @name @[Manager] name-name ","name#0000 name#0000 name#0000 name#0000","Advertiser-Realm","testing-testing","Ticket","33p2bdlfto9g45","Customer-Realm","Horde",""`
var result1 = result.replace (/,/g, " ");
var result2 = result1.replace (/"/g, "");
现在我的字符串看起来像这样。
12/24/2020 3:40:33 PM SanguineDepths+5 Timed 1000 Aegwynn @name @name
@name @[Manager] name-name name#0000 name#0000 name#0000
name#0000 Advertiser-Realm testing-testing Ticket 33p2bdlfto9g45
Customer-Realm Horde
当上传删除我不需要的字符的上述字符串时,google sheets 实际上在一个单元格而不是多个单元格中输入所有数据,有什么办法可以解决这个?我确实尝试过使用参数,尽管我希望一个单元格中有 4 个不和谐的名称#0000,而 4 个不和谐的@name 也在它们自己的单元格中,就像这样。
Desired format for data to be entered in
所以我的主要目标是以这样一种方式格式化结果,我可以将它们写入 google sheets 在他们自己的单元格中。
编辑#1
我使用了 .split(',') 函数,但是 google API return 出现以下错误:
“API return 出现错误:错误:无效值[1][0]:list_value”
您可以尝试以中间的逗号为目标,将那一点的数据拆分为一个数组,然后注意删除字符。
尝试:
result.split(',')
那应该给你一个数组。
你可以重新使用你的代码来用数组助手去掉你不需要的字符:比如:
result.split(',').map((part) => {
return part.replace (/"/g, "")
})
我希望有一个更简单的解决方案,但我最终使用了这个方法,并为我从 sheet.
返回的字符串提供了多个参数
var result1 = result.replace (/,/g, " ");
var result2 = result1.replace (/"/g, "");
const argsRUN = result2.split(' ');
const command = argsRUN.shift().toLowerCase();
var date1 = (argsRUN[0]);
var time1 = (argsRUN[1]);
var ampm = (argsRUN[2]);
var dungeonkey = (argsRUN[3]);
var timedornot = (argsRUN[4]);
var costofboost = (argsRUN[5]);
var paymentrealm1 = (argsRUN[6]);
var boost1ID = (argsRUN[7]);
var boost2ID = (argsRUN[8]);
var boost3ID = (argsRUN[9]);
var boost4ID = (argsRUN[10]);
var boost1tag = (argsRUN[11]);
var boost2tag = (argsRUN[12]);
var boost3tag = (argsRUN[13]);
var boost4tag = (argsRUN[14]);
var advertiserrealm = (argsRUN[15]);
var commentup = (argsRUN[16]);
var ticketornot = (argsRUN[17]);
var uniquerunid = (argsRUN[18]);
var customerrealm = (argsRUN[19]);
var customerfaction = (argsRUN[20]);
主要目标
- 从 google sheet 选项卡中检索字符串。
- 编辑字符串以删除 "s 和 ,s。
- 将要上传的字符串重新格式化为 google sheets.
我已经完成了目标的前两项任务。虽然我会详细说明情况。
我正在查询 google sheet 到 return 包含指定字符串的行,以便可以将其添加到新的 sheet。目前我已经能够很好地检索该行。返回的数据看起来像这样。
"12/24/2020, 3:40:33 PM","SanguineDepths+5","The Key Is Timed","1000","Aegwynn","@name @name @name @[Manager] name-name","name#0000 name#0000 name#0000 name#0000","Advertiser-Realm","testing-testing","Ticket","33p2bdlfto9g45","Customer-Realm","Horde",""
然后我使用以下代码删除了所有的 "s 和 ,s。
const result = `"12/24/2020, 3:40:33 PM","SanguineDepths+5","The Key Is Timed","1000","Aegwynn","@name @name @name @[Manager] name-name ","name#0000 name#0000 name#0000 name#0000","Advertiser-Realm","testing-testing","Ticket","33p2bdlfto9g45","Customer-Realm","Horde",""`
var result1 = result.replace (/,/g, " ");
var result2 = result1.replace (/"/g, "");
现在我的字符串看起来像这样。
12/24/2020 3:40:33 PM SanguineDepths+5 Timed 1000 Aegwynn @name @name @name @[Manager] name-name name#0000 name#0000 name#0000 name#0000 Advertiser-Realm testing-testing Ticket 33p2bdlfto9g45 Customer-Realm Horde
当上传删除我不需要的字符的上述字符串时,google sheets 实际上在一个单元格而不是多个单元格中输入所有数据,有什么办法可以解决这个?我确实尝试过使用参数,尽管我希望一个单元格中有 4 个不和谐的名称#0000,而 4 个不和谐的@name 也在它们自己的单元格中,就像这样。
Desired format for data to be entered in
所以我的主要目标是以这样一种方式格式化结果,我可以将它们写入 google sheets 在他们自己的单元格中。
编辑#1
我使用了 .split(',') 函数,但是 google API return 出现以下错误:
“API return 出现错误:错误:无效值[1][0]:list_value”
您可以尝试以中间的逗号为目标,将那一点的数据拆分为一个数组,然后注意删除字符。 尝试:
result.split(',')
那应该给你一个数组。 你可以重新使用你的代码来用数组助手去掉你不需要的字符:比如:
result.split(',').map((part) => {
return part.replace (/"/g, "")
})
我希望有一个更简单的解决方案,但我最终使用了这个方法,并为我从 sheet.
返回的字符串提供了多个参数var result1 = result.replace (/,/g, " ");
var result2 = result1.replace (/"/g, "");
const argsRUN = result2.split(' ');
const command = argsRUN.shift().toLowerCase();
var date1 = (argsRUN[0]);
var time1 = (argsRUN[1]);
var ampm = (argsRUN[2]);
var dungeonkey = (argsRUN[3]);
var timedornot = (argsRUN[4]);
var costofboost = (argsRUN[5]);
var paymentrealm1 = (argsRUN[6]);
var boost1ID = (argsRUN[7]);
var boost2ID = (argsRUN[8]);
var boost3ID = (argsRUN[9]);
var boost4ID = (argsRUN[10]);
var boost1tag = (argsRUN[11]);
var boost2tag = (argsRUN[12]);
var boost3tag = (argsRUN[13]);
var boost4tag = (argsRUN[14]);
var advertiserrealm = (argsRUN[15]);
var commentup = (argsRUN[16]);
var ticketornot = (argsRUN[17]);
var uniquerunid = (argsRUN[18]);
var customerrealm = (argsRUN[19]);
var customerfaction = (argsRUN[20]);