csv - 电子表格列的自动 MD5 和十六进制编码

标签 csv google-apps-script google-sheets hex md5

我收到一个 CSV 文件,在该文件中我需要对一列进行十六进制编码,并对另一列进行 MD5 哈希处理。

我正在寻找的最终结果是从 FTP 帐户获取传入的 CSV 文件,以某种方式从两列中获取数据并自动将数据编码(如上所述)到另外两列中。

虽然我可以使用在 Excel 中手动找到的脚本来执行此操作,但我确实需要以其他方式自动执行此过程,因此我正在寻求帮助以了解如何执行此操作,也许可以将 CSV 文件从 FTP 发送到 Google Sheets并在那里有一个脚本,可以在导入数据时自动添加两个计算 - 这样我就可以从 Google Sheets 中提取数据作为将使用它的程序的源(自动)?

或者是否有一个程序可以做到这一点?

非常感谢任何帮助!

最佳答案

您可以在 Google 表格中执行此操作

十六进制编码

如果你想对十进制数字进行十六进制编码,你可以使用这个内置函数:DEC2HEX()。有关该函数的文档 https://support.google.com/docs/answer/3093137?hl=en

MD5 哈希

打开工具 > 脚本编辑器,然后粘贴以下代码:

function MD5 (input) {
  var rawHash = Utilities.computeDigest(Utilities.DigestAlgorithm.MD5, input);
  var txtHash = '';
  for (i = 0; i < rawHash.length; i++) {
    var hashVal = rawHash[i];
    if (hashVal < 0) {
      hashVal += 256;
    }
    if (hashVal.toString(16).length == 1) {
      txtHash += '0';
    }
    txtHash += hashVal.toString(16);
  }
  return txtHash;
}

之后保存脚本,然后在引用单元格时使用电子表格中的 MD5() 函数。

关于csv - 电子表格列的自动 MD5 和十六进制编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43353248/

相关文章:

android - 如何将 Room 表导出为 CSV 格式?

google-apps-script - Google Apps 脚本 : Get the ID of script bound to a spreadsheet

google-apps-script - 强制重新发布谷歌电子表格的脚本

javascript - 在 Google 脚本中调用事件的正确方法是什么?

google-apps-script - 使用 MailApp.sendEmail 谷歌表格防止文本换行?谷歌脚本

linux - 当定界符也出现在文件中任何位置的字段数据中时,如何替换定界符?

php - 使用 PHP CSV 导入脚本时出现 ENCLOSED BY 错误

excel - 如何在 Google 电子表格单元格中调整绘图?

arrays - 仅当列具有数据且特定列在 Google 表格中具有特定值时,才从另一张表中自动填充列