如何将逗号分隔列表转换为正确的 CSV 格式

如何将逗号分隔列表转换为正确的 CSV 格式

我有一个以逗号分隔的电子邮件地址列表,例如“[电子邮件保护][电子邮件保护][电子邮件保护]

但我需要将其转换为正确的 CSV 格式。因此我假设替换空格。

但如何才能做到这一点?我需要使用正则表达式命令进行“搜索和替换”吗?如果需要,该怎么做?

先感谢您

答案1

如果文件除了逗号后的空格之外不包含其他空格字符,则搜索和替换中无需使用正则表达式。您只需打开代替...对话框中输入一个空格字符找什么:确保盒子里没有东西用。。。来代替:盒子。

如果尚未重命名,请确保将文件重命名为 .csv。如果您有隐藏已知文件类型的扩展名在 Windows 资源管理器中启用(默认),您将需要使用新的文件扩展名重新保存文件;禁用 Windows 资源管理器设置或通过命令行重命名文件。

答案2

CSV 文件格式尚未完全标准化,即使存在RFC4180
(本标准仅规定了基于文本的字段的处理)。

RFC4180要求:

  • 以 (CR/LF) 字符结尾的 MS-DOS 样式的行(最后一行可选)。
  • 可选的标题记录(没有可靠的方法来检测它是否存在,因此导入时需要小心)。
  • 每条记录“应该”包含相同数量的以逗号分隔的字段。
  • 任何字段都可以用引号引起来(用双引号)。
  • 包含换行符、双引号和/或逗号的字段应该用引号引起来。(如果没有,文件很可能无法正确处理)。
  • 字段中的(双)引号字符必须用两个(双)引号字符表示。

回到你的问题:

例如,我有一个以逗号分隔的电子邮件地址列表
[email protected], [email protected], [email protected]

但我需要将其转换为正确的 CSV 格式。因此,我假设替换空格

删除空格:

  • Ctrl+ H
  • 在字段Find what类型中[ \t]+
  • 该字段Replace with应为空。
  • Search mode部分中切换单选按钮regular expression
    并点击按钮Replace All

清除空格中的文本后,您可能需要将列数据括在引号中:

  • Ctrl+ H
  • 在字段Find what类型中([^,\r\n]+)
  • 在字段Replace with类型中\"\1\"
  • Search mode部分中切换单选按钮regular expression
    并点击按钮Replace All

笔记:这(用引号括住数据)适用于以 DOS/Windows 格式保存的文本,如果您处理来自 Linux 的数据,则删除\r表单Find what字段。

相关内容