首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在德语Excel中将科学数字格式转换为数字

在德语Excel中将科学数字格式转换为数字
EN

Stack Overflow用户
提问于 2022-02-15 17:07:22
回答 1查看 158关注 0票数 0

源CSV包含格式类似于13.558010465075的数字。我想把这个CSV导入到德语Excel中,而不用手动用逗号替换点。如果不替换这些数字,导入后将以科学符号(如1,3558E+13 )显示这些数字。

有两种方法可以将像1,3558E+13这样的科学数字符号转换为数字13.558010465075

使用=trim()

  • to的
  1. 使用“格式单元格”选项,如屏幕截图:

这两种选择对我都不起作用,也许是因为我在德国Excel上。不要工作意味着:在使用这两种方法时,十进制分隔符丢失了,我得到的是13558010465075而不是13.558010465075

有人知道解决这个问题的办法吗?

下面是我的CSV数据的第一行:

代码语言:javascript
运行
复制
+----------------------+--------+---------+---------------------+
| URL                  | Top-10 | Top-100 | Anteil Sichtbarkeit |
+----------------------+--------+---------+---------------------+
| https://example.com/ | 232    | 1.259   | 13.558010465075     |
+----------------------+--------+---------+---------------------+
| https://example.com/ | 272    | 1.265   | 7.3158706637119     |
+----------------------+--------+---------+---------------------+
| https://example.com/ | 280    | 1.327   | 6.8266713736524     |
+----------------------+--------+---------+---------------------+

URL;Top-10;Top-100;"Anteil Sichtbarkeit"
https://example.com/;232;1.259;13.558010465075
https://example.com/;272;1.265;7.3158706637119
https://example.com/;280;1.327;6.8266713736524
EN

回答 1

Stack Overflow用户

发布于 2022-02-17 13:05:54

如果我正确理解您所写的内容,问题是在倒数第二列中,圆点表示一个数千个分隔符,而在最后一列中,圆点表示一个十进制分隔符。

在CSV文件中,这是非常奇怪的,为了纠正这个问题,我会反复检查源代码。

如果不能纠正这种情况,那么Power query会很有用,因为您可以在导入时单独格式化这两列,但是您必须进入高级编辑器才能这样做。

GetData=>from Text/CSV=>Transform

  • Home=>Advanced Editor

  • Replace导入文件--自动生成的#"Changed Type"行,如下面的M代码所示:

M码

代码语言:javascript
运行
复制
let
    Source = Csv.Document(File.Contents("C:\Users\ron\Desktop\decimals.txt"),[Delimiter=";", Columns=4, Encoding=1252, QuoteStyle=QuoteStyle.None]),
    #"Promoted Headers" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),
    #"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{
        {"URL", type text}, 
        {"Top-10", Int64.Type}, 
        {"Top-100", type any},  //<==
        {"Anteil Sichtbarkeit", type number}},
        "en-US" //<==
        ),
    #"Changed Type with Locale" = Table.TransformColumnTypes(#"Changed Type", {{"Top-100", type number}}, "de-DE")
in
    #"Changed Type with Locale"

对于第一个Change type,我们指定了US设置(dot=decimal)、,我们将倒数第二列指定为type any

然后,在第二步中,我们将倒数第二列指定为德国设置,这将识别dot=thousands。

如果然后关闭并加载,我们将得到以下结果(如德国区域设置所示):

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71130537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档