CSV文件会自动与Excel关联,但是当我打开它们时,所有行基本上都在第一列中,如下所示:逗号分隔的值”,它实际上会搜索其他定界符(我认为这是分号,但并不重要)。告诉它“重新打开该文件并使用逗号作为定界符”?

我知道我可以将数据导入到新的工作表中,等等。一个包含逗号的CSV文件,我想在Excel中打开它而不创建新工作簿或转换原始文件。

评论

由于许多原因,除了分隔符之外,让Excel使用默认设置打开CSV(或任何其他纯文本文件)是一个非常糟糕的主意。根据您的源文件,您将-破坏您的数据。我在这里写过一篇深入的文章:theonemanitdepartment.wordpress.com/2014/12/15/…

很难理解Microsoft内部必须发生什么,以致Excel仍然无法像这样打开CSV文件。它也以惊人的方式打破数字等。甚至JavaScript都不会隐式转换该错误。

对不起,我很抱歉。但是您的第一行没有逗号的事实很有可能导致Excel放弃尝试

随便用;作为分隔符并双击打开文件会将其分隔在MS Excel中的列中。

今天,对于我来说,EXCEL 2016仍然是一个问题。我现在使用Libre Office,它将自动打开向导。

#1 楼

转到“数据”标签,然后在数据工具下选择文本到列
,然后选择定界并单击下一步。然后选择逗号作为定界符并点击完成。



评论


在Windows资源管理器中双击* .csv之后,您每次都要这样做吗?我以某种方式无法相信没有更简单的方法,尤其是如果Excel将自身与* .csv文件扩展名关联。

–伯雷克·伯纳德(Borek Bernard)
2012年3月31日20:50

通常,当您打开文件时,应该会弹出一个向导,使您执行此过程,但是如果没有,则可以通过这种方式进行。您还可以转到数据-从文本获取外部数据,然后从此处运行导入向导。

–雷斯塔法里安
2012年3月31日20:52



这就是问题所在,我不想导入任何数据,我正在打开一个完全有效的CSV文件,Excel甚至将其与之关联。好的,如果是这样,我可能需要找到其他内容来编辑CSV文件。

–伯雷克·伯纳德(Borek Bernard)
2012年3月31日21:20

是的,它的PITA与Excel 2003相同。我还必须使用Data \ Import。本身并不是真正的问题,但是我每年只进行两次导入,因此我经常忘记并首先尝试File / Open ;-(

– Jan Doggen
2014年1月31日18:10

您可以@gstackoverflow,只需选择A列,然后执行此操作。

–汤姆
16年2月6日在12:24

#2 楼

放置:

sep=<delimeter>


作为csv文件的第一行将自动告诉Excel使用该字符作为分隔符,而不是默认逗号。

例如:

sep=|
COLUMN1|COLUMN2
data,1|data2
...


将导致使用管道(|)作为分隔符而不是逗号,而无需用户首先通过导入向导进行操作。

评论


为了在Excel 2013中正常工作,必须在选项>高级中取消选中使用系统分隔符。

–迈克尔·菲尔德
15年3月26日在7:06



可以用类似的方式定义小数点分隔符吗?我希望它是例如1.5,但在我的系统中。是数千个分隔符。

– CGFoX
17年1月26日在8:46

即使我已选中“使用系统分隔符”,这也对我有用。没有其他解决方案对我有用。

–敬畏
17年2月15日在13:54

通过选中“使用系统分隔符”来确认这在Excel 2016中是否有效。这很棒。

–巴斯
17年5月15日在13:57

完美解决一个愚蠢的问题! (Excel应该能够识别使用的分隔符,或者至少要问我,然后让我决定!)接下来:是否可以强制Excel也使用另一个字符集?我所有的CSV都使用UTF-8,但是Excel尝试将其打开为“ Macintosh”,这给我带来了很多问题!

–qualbeen
17-10-25在11:53



#3 楼

我不知道您是否能够解决此问题,但我也遇到了同样的问题,经过一些调查后对其进行了梳理。 br />进入控制面板->区域设置->高级设置,然后将列表分隔符更改为逗号。 8.将其更改为逗号后,可以使用Excel 2013正确打开所有CSV。

希望有帮助。

其他注释:
我使用了与Lèsemajesté相同的步骤,但是我还将Decimal符号从逗号(,)改为句号(。),这解决了我的问题。 br />
这是因为,默认情况下,Windows 8使用逗号作为小数点符号,并且在必须同时使用字符作为分隔符和小数点符号时Excel感到困惑。

评论


已经设置好了,被excel忽略了。仍不以逗号分隔。

–艾略特
2014年9月23日20:45在

Ir可能至少需要注销才能生效。

– Gert van den Berg
16年1月11日在10:49

更改小数点后为我工作,谢谢!

–詹姆斯·卡梅隆(James Cameron)
16-10-14在9:20

好吧,我仍然认为Excel使用区域设置来读取文件格式真是令人愤慨!

–敬畏
17年2月15日在13:44

谢谢。这种设置为我解决了一个巨大的问题。 Excel是如此愚蠢!

–莫哈
18年8月30日在12:37

#4 楼

这是对我有用的-这是这里一些答案的组合。(注:我的电脑使用的是捷克格式设置,该格式设置数字的格式如下:1 000,00,即使用逗号作为小数点分隔符和空格作为千​​位分隔符。系统设置中的默认列表分隔符是;。) br />
在Excel 2013中,我转到选项->高级且未选中使用系统分隔符(在第一部分的“编辑选项”下)
我在Excel中将小数点分隔符设置为.,的千位分隔符(千位分隔符可能无关紧要,但我想使其与美国格式一致)

步骤2 + 3的替代方法是在系统设置中更改这些设置(第1步),但我通常希望根据捷克语言环境设置数字的格式。

缺点:在Excel中,我现在需要输入使用美国语言环境的十进制数字,即使用点号而不是逗号。感觉有点不自然,但对我来说是可以接受的折衷方案。幸运的是,我的数字键盘上的逗号键自动变为了点键(并且仅在Excel中-其他应用仍会输出逗号)。

评论


它不适用于Excel 2010 / cz :-(

– Leos Literak
2014年11月27日8:00

@ LeosLiterak:我只是在Excel 2013中尝试了一下,并且有效。

– Sk8erPeter
17年1月24日在15:06

我只是尝试过,它确实对我有用。 @Excel 2013和Win10 / cz谢谢。 ……确实也需要更改“系统列表分隔符”。伤心。很深,在Win10中。

–弗兰塔
19/12/4在14:45



#5 楼

显然,Excel使用Windows 7区域设置作为CSV的默认分隔符(默认情况下显然是一个选项卡)。您可以像这样更改设置。

但是,我不知道这还会有什么其他影响。我想,如果您计算机上的所有CSV文件都用逗号分隔,那么应该没有任何问题。但是,如果您有另一个也可能使用CSV文件的程序(可能是Microsoft),并且通常使用使用其他定界符格式化的CSV,则可能会出现问题。

例如例如,如果Outlook使用制表符分隔的CSV来导入/导出联系人,并且您从外部来源(Gmail,另一台计算机等)接收到此类CSV,则更改此系统范围的设置可能会阻止Outlook打开这些制表符分隔的CSV。

评论


我尝试更改“区域和语言设置”>“格式”>“其他设置”>“列表分隔符”,但是,它对在Excel中打开CVS文件没有任何作用。因此,不幸的是,这不是解决方案。

–伯雷克·伯纳德(Borek Bernard)
2012年4月1日在16:47

与Excel 2010和Windows 7相同。在我的设置中已经为,并且Excel仍默认为tab。

–rhsatrhs
2012年11月30日在22:01

是否可以在“控制面板”的此框中输入2个不同的字符?例如。 ;,允许两个字符都作为列表分隔符?

– Dzhuneyt
2014年9月1日上午8:51

#6 楼

LibreOffice Calc具有非常高级的csv过滤器,可让您选择分隔符,格式和编码。我广泛处理各种格式的数据,并且经常需要将这些数据以Excel格式发送给用户。我使用LibreOffice Calc将csv文件转换为所需格式,然后另存为xls。在评论中建议使用excel以外的其他选项是可以接受的选择。

#7 楼

Excel 2010-
除了验证区域高级设置外,请确保检查Excel Advanced设置:

文件->选项->高级

确保选中“使用系统分隔符”。

评论


或者,当然,如果您要导入与您的区域设置不同的内容,请确保未选中它。 :-)但是:很高兴知道这个设置存在;我以前从未听说过。

– Arjan
2014年1月31日18:25

这些设置似乎只影响数字分隔符,而不影响列表分隔符。

–伯雷克·伯纳德(Borek Bernard)
2014年7月7日在10:16

#8 楼

有关困惑的分步指南:


按Windows键
键入“ intl.cpl”并按Enter。
单击“其他设置” 。
转到“数字”选项卡:
将小数符号更改为点。
将“数字分组符号”更改为空格。
更改“列表分隔符”
转到“货币”选项卡:
将小数符号更改为点。
将“数字分组符号”更改为空格。


评论


如果您始终使用自己创建的.CSV文件,那就很好。但是,当您从使用逗号作为分隔符的其他人那里获取文件时,此方法将无效。

–stevenvh
17年7月24日在9:10

#9 楼

在Excel的“数据”选项卡的“获取外部数据”子部分中,单击“来自文本”,然后在向导中导入CSV。

#10 楼

将小数点分隔符更改为。 (点)和列表分隔符(,逗号)有助于在挪威计算机上的Excel中以普通视图维护CSV。

评论


同样在我的保加利亚语中

–ПетърПетров
2014年11月6日21:41

#11 楼

对于我的系统,设置已经设置为此处建议的设置(小数符号设置为。(点),列表分隔符设置为,(逗号),但是导入从其他应用程序导出的CSV文件时,我仍然遇到显示问题。

经过一番尝试和错误,我找到了一个解决方案,可以在正确的视图中打开每个CSV文件。 :

控制面板>时钟,语言和区域>区域>其他设置>列表分隔符设置为;;(逗号和半冒号)->单击“应用”,然后查看是否可行。

#12 楼

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


菜单编码>转换为不带BOM的UTF-8

保存CSV文件
在Excel中打开,列应拆分


评论


不带BOM的ASCII和UTF-8不是同一回事。实际上,就像UTF-8包含在标准中一样,ASCII无缝地适用于没有BOM的UTF-8。一旦没有被ASCII覆盖的字符出现,它就可以直接输出ANSI或UTF-8。。。

–sinni800
15年10月26日在13:30

#13 楼

使用更新的Excel版本2010,您可以将.CSV文件作为文本文件打开(菜单:文件,打开或Control-O)。然后,您可以直接获得该向导,就像使用LibreOffice Calc一样容易,您可以在其中选择正确的字段定界符。 .CSV扩展名。我的应用程序是生成带有.ACC扩展名的CSV输出,然后尝试使用上述方法在excel中打开它,从而导致您进入完全不同的excel角落:-(