Excel中的CSV小数点

li9yvcax  于 2022-12-06  发布在  其他
关注(0)|答案(8)|浏览(330)

我有一个包含以下值的CSV文件:

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应用程序创建CSV文件,因此很难修改我的Excel配置,因为许多人访问我的网站并将CSV文件下载到他们的机器上。

ivqmmu1c

ivqmmu1c1#

对于用户寻求这个问题与较新的Excel版本,如Excel 365...如写在Professor Excel您可以激活/恢复“从文本(传统)”的设置。

我的首选解决方案

File - Options - Data

然后你将能够得到旧的导入向导...遗产,但在我看来更直观。

其他可能性

在链接的Professor Excel网站上,也显示了其他的可能性。使用Excel的新导入对话框,如果你有几个列的数字都在不同的区域设置,你的计算机的区域设置,那么它将是更多的工作来做导入。与旧的向导,你在一分钟内设置。与新的导入对话框,我还没有找到一个方法,是一样快,与传统的导入方法。

dpiehjr4

dpiehjr42#

下面是我的答案:

  • 转到Excel工作表上的数据选项卡。
  • 单击from Text按钮。
  • 然后选择文本或csv文件。
  • 然后会出现导入向导。选择逗号分隔或空格分隔选项。
  • 然后选择分隔符。(如果您不希望在导入小数时出现问题,这是更好的选择)
  • 然后在下一个窗口将有高级选项为一般列类型。点击高级按钮,并选择如何分开小数和千位数。

将小数分隔符更改为.“”,并删除带有空格的千位分隔符。

vnzz0bqm

vnzz0bqm3#

截至目前(2020年9月),我设法用一种稍微不同的方式来做这件事。我正在使用Office 365订阅中的Excel。
打开Excel工作表,转到:

  • 数据(选项卡)〉从文本/CSV(获取和转换数据部分)

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

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

ars1skjm4#

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

tkclm6bt

tkclm6bt5#

我也遇到了同样的问题,但是这个解决方案并不适合我。
在此之前,我不得不去Office图标-〉Excel选项-〉高级,并设置千分符从“。”到“”(什么都没有)。

unhi4e5o

unhi4e5o6#

有一种更直接的方法可以将数据从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"

然后,您可以直接写下每一栏的类型:- 文本:键入文本-整数:Int 64.类型-小数: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。

azpvetkf

azpvetkf7#

如果您使用的是较新版本的Excel(例如Office 365),并且不需要更正文件的编码,以下方法对我很有效:
1.在文件资源管理器中双击.csv文件,将其打开
1.选择包含十进制数字的列
1.使用“查找和替换”将所有点(.)更改为逗号(,)
这假定不需要其他数据转换(这可能需要完成导入向导),并且Excel可以正确识别文件的编码。
如果编码也是一个问题,请在执行上述步骤之前执行以下操作:
1.在记事本中编辑文件++
1.打开编码菜单选项卡
1.选择所需的值来转换文件的编码
其他一些方法也可以,但为了简单起见,您无法击败Find and Replace方法。无论您做什么,下面是最重要的步骤:长命百岁,繁荣昌盛!

vngu2lb8

vngu2lb88#

我在2012版Excel中遇到的问题是,当您导入数据时,可以选择打开“转换数据”框。在右侧面板的该框中,您可以看到“应用的步骤”列表。这些是Excel应用于源文件的步骤。您可以从此列表中删除导致问题的步骤。* 我有一个问题,Excel忽略小数点,而从我的文本文件导入,但这解决了这个问题。*

相关问题