如何将普通文本文件转换为.csv文件,并将其导入Excel?

如何将普通文本文件转换为.csv文件,并将其导入Excel?

我有一组姓名和地址想要导入到 Outlook 中。

目前我已将它们导入 Excel,但所有姓名和地址都在一个长条目中。

所有内容均已用逗号分隔。

如何让 Excel 选择每个“值”并将其移动到单独的单元格?

编辑:我曾尝试获取文本文件并将其保存为 .csv 文件。但是,所有联系人都加载到单个单元格中。

我正在使用 Excel 2003。

谢谢。

答案1

您需要的不是 Excel。Excel 和 Calc (OO.o) 都可以将 CSV 作为电子表格打开,但您需要的是将文本文件处理成格式正确的 CSV 文件。

为此,您需要一个好的文本编辑器。很少有文本编辑器允许您进行多行搜索和替换(不知道为什么,因为这是一个非常有用的功能并且易于实现)。但一个非常好的免费编辑器(有点)具有此功能的是记事本2。它基本上是 Windows 默认记事本的升级版,但不如 Notepad++ 那么笨重。您可以用 Notepad2 或 Notepad++ 替换 Windows 记事本,但这超出了本回答的范围。

安装 Notepad2 后:

  1. 打开文本文件并点击Ctrl + H调出查找和替换对话框。
  2. 在框中输入逗号或逗号和空格Search String
  3. 现在你会注意到这个Replace with:框只有一行。没关系,因为 Notepad2 支持正则表达式开箱即用。因此,请选中标有 的复选框Regular expression search
  4. 尽管上面的复选框内容是这样的,但实际上正则表达式搜索和替换—这意味着你可以在代替框中也一样。因此,在其中输入\n并点击Replace All
  5. 然后只需保存为 *.csv 并退出。如果您在 Excel/Calc 中打开它,它现在应该是一列姓名/电子邮件。

编辑:

实际上,重新阅读您的问题后,我发现您可能需要 2 列:1 列用于电子邮件,1 列用于姓名。如果是这样,那么这比用换行符替换所有逗号要困难一些。但不要害怕!正则表达式可以再次提供帮助:

  1. 打开原始文本文件。
  2. 拉出搜索和替换对话框。
  3. 在搜索框中输入:\([^,]+\),\([^,]+\),
  4. 在替换框中输入以下内容:\1,\2\n
  5. Replace All
  6. 保存为 *.csv 并退出。

您可以选择修改正则表达式以在逗号后放置一个空格(如果这是文本文件的格式或您希望的格式),例如

first last, [email protected], bob builder, [email protected], foo...
versus:
first last,[email protected],bob builder,[email protected],foo...

编辑2:

为了记事本++正则表达式的风格,您不需要用反斜杠转义分组,因此相应的搜索正则表达式将是:

([^,]+),([^,]+),

如果有空的电子邮件地址:

([^,]+),([^,]*),     // assuming that the email is the second parameter
([^,]*),([^,]+),     // make the first parameter optional

编辑3:

要处理完全缺失的字段,就会变得有点混乱。这是因为 Notepad2 和 Notepad++ 都不支持可选组或负向后视。所以我们需要应用 2 个不同的正则表达式:

  1. 这将获取所有连续的电子邮件并, ,在它们之间插入一个空字段 ( )。Replace All多次运行此操作(使用 ),直到不再获得匹配项。:

    ([^,]+@[^,]+), ([^,]+@[^,]+),*   // search for
    \1, , \2,                        // replace
    
  2. 如果需要,请在文档的开头或结尾手动添加额外的空白字段。

  3. 根据电子邮件在前还是名字在前,替换以下任一项:

    ([^,]+), ([^,]*),\s     // email first
    ([^,]*), ([^,]+),\s     // name first
    

    和:

    \1, \2\n
    

这样就行了。\s上面只是一个空格字符。您可以在那里放一个空格,也可以\s在正则表达式中写入。

注意:我通常尽量避免要求某人安装新的文本/图形/音频/视频编辑器来解决特定问题,但这是一个例子:1.)它是一个非常轻量级(约 300KB)的免费程序,我知道有效;2.) 它非常有用,几乎所有尚未安装 Notepad2/Notepad++ 等记事本替代品的人都会从安装它中受益。事实上,我在我使用的每台 Windows 电脑上都安装了它,在我工作的每个 Windows 工作站上也安装了它。

答案2

CSV 只不过是一种奇特的说法,“用逗号分隔的纯文本”,因此得名C奥玛年代分开价值观。

要将文件转换为 CSV 格式,请将其扩展名从 .txt 更改为 .csv。

Excel 知道带有 .csv 扩展名的文件是逗号分隔的值,并且它会将每个值放入其自己的单元格中。

例如,我从这个文件开始:

a,1,bla,10
2,r,sasdfa,1as0

我将其另存为bla.csv并在 Excel 中打开。它看起来像这样:

CSV 文件示例

我的安装恰好是新的,并且我没有对 Excel 的设置进行任何更改以自动打开 CSV 文件。

答案3

值得一提的是,在 Excel 2003 中,该工具仍然位于数据菜单下,但称为“文本分列”,并允许您选择分隔字符。

答案4

我为你写了一个小的 PHP 脚本,输入单个“,”分隔的行这里并点击提交。选择并复制列表,然后将其粘贴到excel的第一个单元格中。

相关内容