如何在Excel 2013中正确显示.csv文件?


189

似乎Excel 2013无法正确读取CSV文件(Excel 2010可以正确读取)。每次打开.csv文件时,我的所有数据都显示在第一列中。

我知道我可以转到DATAConvert然后选择commas,但是不会保存此设置,每次打开此类文件时我都会感到厌倦。

如何设置Excel 2013一劳永逸地显示CSV文件(以逗号分隔)?


1
当您打开文件时,是否出现任何消​​息?
Andre Silva

号无消息出现
大卫

我的经验是,如果文件具有标题行,Excel 2013将自动通过导入向导。如果没有该标题行,则将其全部显示为每行一列。
StarPilot

Answers:


400

使用诸如Notepad ++之类的体面的文本编辑器打开CSV文件,并在第一行中添加以下文本:

sep=,

现在再次用excel打开它。

这会将分隔符设置为逗号,或者您可以将其更改为所需的任何内容。


3
最佳解决方案,但不是我所期望的。该设置不是来自Excel本身,这意味着我必须在所有CSV文件上的上方写上这一行。
David

31
这是非标准的事实,没有编写CSV的应用程序会添加此行,只有Excel(据我所知)会接受它。使其成为最佳解决方案。更不用说这不适用于Excel 2007(我们在这里工作的最好的)
jmarkmurphy 2014年

21
我们不是在谈论标准。我们正在谈论Microsoft Excel。Excel随语言附带不同的配置和热键。这使得导入CSV文件成为一个难题。这只是一个解决方法,我相信它可以帮助很多人,大多数不是超级用户,尽管不是最佳答案。
Guilherme Viebig 2014年

10
需要一种不涉及在文件中添加行的解决方案,因为这会破坏需要使用文件的其他内容。另外,已经尝试过区域设置解决方案,但是设置已经如前所述,并且excel仍将所有内容都放在第一栏中。
Elliot 2014年

2
如果您在Libreoffice Calc中打开csv,则会显示该行。虽然在MS excel中工作正常。
2014年


38

问题出在地区选项。对于欧洲国家来说,赢7中的小数点分隔符为昏迷。您必须打开控制面板->区域和语言选项->附加设置->小数点分隔符:单击以输入点(。),并在列表分隔符中输入逗号(,)。这是 !


5
这是行不通的。我已经按照指示设置了它,将其忽略。一切都放在第一列中。
Elliot 2014年

1
太神奇了-这只是为使用Office 2011的同事提供了帮助。我们将她的地区从波兰(使用“,”作为小数点分隔符)设置为英国,并进行了固定。为什么这会有所作为,我不知道...
约翰

3
此解决方案对我有效(Excel 2013)。我调整区域格式:我将点(。)设置为“小数点分隔符”,将逗号(,)设置为“千位分隔符”,并将逗号(,)设置为“列表分隔符”
cesargastonec

1
我使用的是Windows 10默认的“英语(加拿大)”格式,当使用Excel 2013-2016打开文件时,该格式通常可以正确正确显示CSV文件(以列分隔)。最近,我注意到在重新打开CSV文件后,我的一个应用程序正在更改默认编号格式。如此处指定,在将点(。)还原为“小数点分隔符”,并将逗号(,)还原为“列表分隔符”编号格式后,该CSV文件显示良好。不需要花哨的变通办法,包括用记事本入侵CSV文件的第一行以添加“ sep =”
JP斜杠otterlover

1
最后!在尝试了很多分钟之后,我在记事本++中用正则表达式替换了分隔符,小数点/逗号,而不是引号中的字符等,之后,我被提醒有关此答案,并只是将语言设置进行了不同的设置,如此处所示。现在,它可以正确地分隔列,并且数字也可以正确显示,而不会弄乱任何文本。
法比安·罗林(FabianRöling)

25

我知道答案已经被接受,但是要检查的一项是CSV文件的编码。我有一个生成CSV文件的Powershell脚本。默认情况下,它将它们编码为UCS-2 Little Endian(根据Notepad ++)。它将在Excel中的单个列中打开文件,而我必须执行“ 文本到列”转换以拆分列。更改脚本以将输出编码为与“ ASCII”相同(每个Notepad ++不带BOM的UTF-8),使我可以直接打开CSV,并拆分列。您也可以在Notepad ++中更改CSV的编码。

  • 菜单编码 > 转换为不带BOM的UTF-8
  • 保存CSV文件
  • 在Excel中打开,应拆分列

3
我很欣赏这个答案。我喜欢使用Some-Command | Out-File -Encoding Default通常能给出正确ANSI编码的编码(至少在美国是出厂默认设置)。
Mister_Tom,2015年

因此,如果您未指定编码方式,Out-File则将文件编码为Default默认值以外的其他值?我想了解一下...这是默认设置...但未默认使用...因此不是默认设置吗?
jdgregson

使用“ -Encoding Default”为我修复了它。谢谢!
柯克·利摩恩

21

您可以在Excel 2013中选择所需的分隔符。转到数据->文本到列->选择定界的->然后选择分隔符“制表符,分号,逗号,空格或其他”,您将立即在“数据预览”中看到更改”,然后单击“完成”

有了所需的格式后,您只需保存文档即可,它将是永久性的。


2
这没有解决主要问题。我们需要将其作为任何此类文件的默认行为,而不是将其修复在一个特定文件中。
Elliot 2014年

17

取自/superuser/238944/how-to-force-excel-to-open-csv-files-with-data-arranged-in-columns

打开CSV文件时Excel的行为在很大程度上取决于您的本地设置以及在区域和语言 » 格式 » 高级下选择的列表分隔符。默认情况下,Excel将假定每个CSV都使用该分隔符保存。只要CSV不是来自另一个国家,这就是事实!

如果您的客户在其他国家/地区,他们可能会看到其他结果。

例如,在这里您看到德国的Excel将使用分号而不是像美国那样的逗号。

区域设置


>该解决方案对我有效(Excel 2013)。我调整区域格式:我将点(。)设置为“小数点分隔符”,将逗号(,)设置为“千位分隔符”,并将逗号(,)设置为“列表分隔符” – cesargastonec 15年7月13日在16: 05
Alex78191 '19

1
或者,您可以在Excel选项中更改小数点分隔符superuser.com/a/1470373
Alex78191 '19

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.