You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

导入Google Drive CSV到现有Google Sheet时内容全在首列如何解决

CSV导入Google Sheets全列合并到第一列问题修复方案

问题根因

你使用的代码默认调用Utilities.parseCsv时未指定分隔符、文件编码,若你的CSV文件不符合默认解析规则(逗号分隔、UTF-8编码),就会出现整行内容被识别为单个字段、全部写入第一列的问题。

修复步骤

  • 确认CSV文件实际分隔符:打开原始CSV文件查看字段之间的分隔符号,常见非逗号分隔符包括分号;、制表符\t、竖线|,欧洲地区导出的CSV默认大多使用分号作为分隔符。
  • 确认CSV文件编码:中文环境下Windows系统导出的CSV常使用GBK/GB2312编码,直接用默认UTF-8读取会出现乱码,导致解析失败。

修复后完整代码

function importCSVFromGoogleDrive() {
  var file = DriveApp.getFilesByName("data.csv").next();
  // 按实际文件编码修改参数,中文CSV可尝试填'GBK'
  var csvContent = file.getBlob().getDataAsString('UTF-8');
  // 第二个参数修改为你实际的CSV分隔符,比如分号填';',制表符填'\t'
  var csvData = Utilities.parseCsv(csvContent, ',');
  var sheet = SpreadsheetApp.getActiveSheet();
  // 写入前清空原有内容,避免旧数据干扰
  sheet.clearContents();
  sheet.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);
}

验证方法

运行代码前可添加一行Logger.log(csvData[0]),执行后查看应用脚本日志,若输出结果为包含10个元素的数组则说明解析正常,若仅输出1个元素则需要重新检查分隔符和编码配置。

该方案同时适配从Google Drive和Gmail附件导入CSV的场景,仅需要将获取文件的逻辑替换为Gmail附件读取逻辑即可,解析规则无需修改。

内容的提问来源于stack exchange,提问作者Shrikant Ravi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 15:15:03