如何让 Excel 将逗号解释为 CSV 文件中的默认分隔符?

Sza*_*lcs 122 csv microsoft-excel

我有许多 .csv 文件。其中一些是逗号分隔的,一些是制表符分隔的(也许它们应该被称为 .tsv ...)

csv被安装Excel时扩充功能与Excel有关。但是,如果我用 excel 打开这些文件之一,所有内容都会转储到同一列中,并且逗号不会被解释为分隔符。

我可以代替文件 -> 导入...,选择文件,并选择解释内容的精确方式(分隔符、数据类型等)但大多数时候我只想通过清晰的方式查看文件表视图。我不想用 Excel 处理它。

有没有办法让 Excel 自动解释分隔符并在 CSV 文件打开后立即将其显示为正确的表格?我需要这个,所以我可以使用 Excel 作为此类文件的快速查看器。

我怀疑一定有办法,否则 Excel 不会将自己与 CSV 文件相关联。

小智 129

如果您不打算修改文件格式,并且只针对 Excel,则可以使用以下 Excel 技巧来帮助您。

在文件顶部添加一个带有文本"sep=,"(包括引号)的新行,以便 Excel 以“,”作为列表分隔符打开文件。

避免更改 Windows 区域设置并获得一致结果是一个非常简单的技巧。但它是 Excel 特定的。

  • 确保仅使用它来查看文件,而不是修改它,否则您可能会遇到以下问题之一:http://theonemanitdepartment.wordpress.com/2014/12/15/the-绝对最低限度每个人都在使用数据绝对肯定必须知道的文件类型编码分隔符和数据类型没有借口/ (2认同)

zak*_*ter 103

打开 CSV 文件时,Excel 将使用系统区域设置List separator来确定要使用的默认分隔符。

Microsoft Excel 将打开 .csv 文件,但根据系统的区域设置,它可能需要分号而不是逗号作为分隔符,因为在某些语言中,逗号用作小数点分隔符。(来自维基百科


Windows 上,您可以更改Office 支持网站上指定的List separator设置:Regional and Language Options

更改 CSV 文本文件中的分隔符

  1. 单击 Windows 开始菜单。
  2. 单击控制面板。
  3. 打开区域和语言选项对话框。
  4. 单击区域选项选项卡。
  5. 单击自定义/附加设置 (Win10)。
  6. 在列表分隔符框中键入新的分隔符。
  7. 单击确定两次。

注意:这仅在十进制符号未指定为逗号时才有效(与上面的维基百科引文一致)。如果是,Excel 将不会使用逗号作为列表分隔符,即使已选择。对于许多非美国地区,逗号是默认的十进制符号。

Mac OS X 上,此设置似乎是从小数点分隔符设置中推导出来的(在System PreferencesLanguage & Region窗格中,转到Advanced)。如果十进制分隔符是一个点,那么默认的 CSV 分隔符将是一个逗号,但如果十进制分隔符是一个逗号,那么默认的 CSV 分隔符将是一个分号。

正如您在评论中所说的那样,Mac 用户有一种替代方法可以快速查看这些 CSV 文件。它是Quick Look的插件,称为quicklook-csv,用于处理分隔符检测。

  • 在 Mac OS X 上,不要忘记在进行更改后退出 Excel。如果您只关闭所有打开的工作表,Excel 将保持打开状态。单击 Excel > 退出 Excel 或按 Command+Q 即可完成。 (2认同)

小智 14

您不需要周围的引号sep=,- 只要它是文件的第一行,它就可以工作,至少在 Excel 2016 中是这样。

我发现如果文件是制表符分隔的,sep=\t无论有没有引号,都可以正常工作。


小智 10

接受的答案是正确的,但我是一个视觉人士。以下是如何在 Windows 10 中执行此操作的屏幕截图格式的每一步。

在此处输入图片说明 在此处输入图片说明 在此处输入图片说明 在此处输入图片说明 在此处输入图片说明 在此处输入图片说明

  • 很有用!请记住(如上所述)如果相同的符号用于“十进制符号”,则“列表分隔符”将被忽略。您经常会发现 `,` 是十进制符号,因此在将 `List separator` 设置为 `,` 时,请确保将其更改为其他内容(例如 `.`)。 (3认同)