我正在尝试在Apps Script中解析一个CSV,它有52列和126543行。数据大小为72 MB。
在使用Utilities.parseCsv方法对其进行解析后,数据的大小为95104,但预期应为126543,即与初始数据大小相同。
在从CSV中删除几列并再次重复上述步骤后,解析后的数据大小增加了,但仍然与初始数据大小不匹配。
Utilities.parseCsv是否有大小限制?如果这是真的,我找不到任何关于这一限制的文件。
请对此进行说明,是否有任何不受尺寸限制的替代解决方案?
如果它确实有大小限制,它将抛出一个错误。行数减少的最可能原因是csv格式不正确(双引号不正确(/csv损坏。尝试检查每行的长度:
const csvChecker_ = csv => {
const arr = Utilities.parseCsv(csv),
len = arr[0].length;
arr.forEach((row,i) => row.length === len ||
console.error(`Incorrect length at row ${i+1}. Row parsed incorrectly: ${JSON.stringify(row)}`))
}
您可以手动检查该行以找出问题,或者为您的csv构建一个自定义csv解析器。
相关:
从其中一个字段中具有换行符的URL导入CSV