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

如何借助CSV文件在Google Docs中批量执行查找替换?

嘿,这个批量替换的需求我太懂了——手动写几百条replaceText简直是噩梦!用CSV来管理替换规则绝对是正确的思路,我来给你一步步讲怎么实现:

步骤1:规范你的CSV文件格式

你之前写的「賴,頼 國,国 遲,遅」格式容易出问题,建议改成每行一个替换对的标准格式,避免空格干扰解析:

賴,頼
國,国
遲,遅
  • 每行的第一个是要替换的繁体汉字,第二个是对应的日文汉字,用英文逗号分隔
  • 不要加多余空格,也不要留空行(如果不小心留了,后面的代码会自动过滤)
步骤2:上传CSV到Google Drive

把整理好的CSV文件上传到你的Google Drive,记住它的文件ID——打开CSV文件后,浏览器地址栏里d/后面的字符串就是ID,比如:

地址栏示例:https://drive.google.com/file/d/abc123XYZ/view → 文件ID是abc123XYZ

步骤3:编写Google Apps Script批量替换代码

打开你的Google Docs,点击工具→脚本编辑器,把下面的代码粘贴进去,替换掉默认内容:

function batchReplaceFromCSV() {
  // 1. 获取当前文档的正文对象
  const body = DocumentApp.getActiveDocument().getBody();
  
  // 2. 替换成你的CSV文件ID(从Drive地址栏提取)
  const csvFileId = "你的CSV文件ID";
  const csvFile = DriveApp.getFileById(csvFileId);
  // 用UTF-8编码读取,避免中文/日文汉字乱码
  const csvContent = csvFile.getBlob().getDataAsString("UTF-8");
  
  // 3. 解析CSV内容:拆分成替换对数组
  const replacePairs = csvContent.split("\n")
    .filter(line => line.trim() !== "") // 过滤空行
    .map(line => {
      // 拆分每行的旧字和新字,并去除前后多余空格
      const [oldChar, newChar] = line.split(",").map(item => item.trim());
      return { old: oldChar, new: newChar };
    });
  
  // 4. 循环执行全局替换
  replacePairs.forEach(pair => {
    // 确保替换对有效(避免空值报错)
    if (pair.old && pair.new) {
      body.replaceText(pair.old, pair.new);
      // 控制台输出替换记录,方便调试(可通过「查看→日志」查看)
      console.log(`已完成替换:${pair.old} → ${pair.new}`);
    }
  });
  
  // 替换完成后弹出提示
  DocumentApp.getUi().alert("批量汉字替换已完成!");
}
关键细节说明
  • 编码问题:代码里用UTF-8读取CSV,确保繁体/日文汉字不会乱码
  • 容错处理:自动过滤空行、去除字符前后空格,避免无效替换
  • 调试方便:控制台会记录每一次替换,万一有问题可以快速排查
运行脚本

回到脚本编辑器,点击工具栏的运行按钮(▶️),第一次运行会要求授权,按照提示完成权限验证即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:55:14