Excel中的CSV十进制点

时间:2012-07-10 20:17:57

标签: excel csv

我有一个带有以下值的cvs:

3271.96;274;272;1;1;0;1;0.071690;0;0;0;0;0;0;1.753130;1.75;0;1.75;

但是当我用Excel打开文件时,我得到了这个:

3271.96 274 272 1   1   0   1   0.071690    0   0   0   0   0   0   1.753.130   1.75    0   1.75

为什么“1.753130”被转换为“1.753.130”? (1.753130是十进制数)我如何“强制”excel来理解那些是十进制数?

我使用Web应用程序创建cvs文件,因此很难修改我的Excel配置,因为很多人进入我的网站并将csv文件下载到他们的计算机中

提前致谢

7 个答案:

答案 0 :(得分:8)

  1. csv重命名为.txt
  2. open excel
  3. 转到文件 - >打开并指向您的txt文件
  4. 完成导入步骤
  5. 确保使用;作为分隔符

答案 1 :(得分:6)

这是我使用的答案:

  • 转到Excel工作表上的“数据”标签。

  • 点击from Text按钮。

  • 然后选择文本或csv文件。

  • 然后导出向导将出现。选择逗号分隔或空格分隔选项。

  • 然后选择分隔符。 (如果你不希望它在导入小数时出现问题,那就更好了)

  • 然后在下一个窗口中将显示常规列类型的高级选项。单击高级按钮,然后选择如何分隔小数和数千。

将小数点分隔符更改为"。"并用空格删除千位分隔符。

答案 2 :(得分:3)

我遇到了同样的问题,但这个解决方案对我来说并没有成功。

在此之前我必须去Office图标 - > Excel选项 - >高级并设置千元分隔符来自"。"到"" (无)。

答案 3 :(得分:1)

有一种更简单的方法可以将text / csv中的数据导入Excel(2017):

  • 在Excel中打开一本空白书,然后单击从text / csv导入数据。
  • 选择文件。
  • 助理将显示数据的预览,但如果您从具有小数/科学数字的csv导入,则所有数据都将被识别为文本。
  • 在导入之前,单击编辑,您将看到一个Excel电子表格,其中包含您的数据预览。
  • 如果单击高级编辑器按钮,将出现带有查询Excel的新窗口。

你会看到类似的东西:

let
    Origin = Csv.Document(File.Contents("C:\Users\JoseEnriqueP\Downloads\evaluation_output.txt"),[Delimiter=",", Columns=8, Encoding=1252, QuoteStyle=QuoteStyle.None]),
    #"Updated type" = Table.TransformColumnTypes(Origin,{{"Column1", Int64.Type}, {"Column2", type text}, {"Column3", type text}, {"Column4", type text}, {"Column5", type text}, {"Column6", type text}})
in
    #"Updated type"

然后,您可以直接记下每列的类型: - 文字:输入文字 - 整数:Int64.Type - 小数:Double.Type

导入代码如下:

let
    Origin = Csv.Document(File.Contents("C:\Users\JoseEnriqueP\Downloads\evaluation_output.txt"),[Delimiter=",", Columns=8, Encoding=1252, QuoteStyle=QuoteStyle.None]),
    #"Updated type" = Table.TransformColumnTypes(Origin,{{"Column1", Int64.Type}, {"Column2", Int64.Type}, {"Column3", Int64.Type}, {"Column4", type text}, {"Column5", Double.Type}, {"Column6", Double.Type}})
in
    #"Updated type"

通过这样做,您将直接将数据导入Excel。

答案 4 :(得分:1)

对于使用更新的Excel版本(例如Excel 365)寻求此问题的用户... 按照Professor Excel的说明,您可以在设置中激活/恢复“来自文本(旧版)”。

我首选的解决方案

File - Options - Data

Excel settings - From Text(Legacy)


然后,您将能够获得旧的导入向导...旧版,但我认为更直观。

Link to legacy import wizard


其他可能性

在该链接的Professor Excel网站上,还显示了其他可能性。即使使用了新的导入对话框,但是如果您有几列数字都位于与计算机区域设置不同的区域中的数字,则进行相同的导入将花费更多的精力。 使用旧的向导,您一分钟即可完成设置。在新的导入对话框中,我还没有找到一种与传统导入方法一样快的方法。

答案 5 :(得分:0)

截至目前(2020年9月),我设法以一种略有不同的方式来做到这一点。我正在使用Office 365订阅中的Excel。

在打开Excel工作表的同时,转到:

  • 数据(标签)>来自文本/ CSV(“获取和转换数据”部分)

选择文件(.txt或.csv),然后会有3个选项:

  • 文件来源:也许您不必更改此
  • 分隔符:选择任何分隔符(可能是逗号)
  • 数据类型检测:将其更改为“不检测数据类型”

答案 6 :(得分:0)

如果您有较新版本的 Excel(例如 Office 365)并且您不需要更正文件的编码,以下是对我有用的方法:

  1. 在文件资源管理器中双击打开 .csv 文件
  2. 选择包含十进制数的列
  3. 使用查找和替换将所有点 (.) 更改为逗号 (,) 符号

此假定无需其它数据转换(这将可能需要通过导入向导去),并且该文件的编码被正确用Excel识别。

如果编码也是一个问题,请在执行上述步骤之前执行以下操作:

  1. 在 Notepad++ 中编辑文件
  2. 打开“编码”菜单选项卡
  3. 选择一个需要的值来转换文件的编码

其他一些答案也有效,但为了简单起见,您无法击败“查找和替换”方法。不管你做什么,这是最重要的一步:长寿和繁荣!