gpt4 book ai didi

excel - 导入数据后替换所有列的所有错误值(同时保留行)

转载 作者:行者123 更新时间:2023-12-01 22:32:29 24 4
gpt4 key购买 nike

作为数据源的 Excel 表格可能包含错误值(#NA、#DIV/0),这可能会干扰 Power Query 中转换过程中的后续某些步骤。 .
根据以下步骤,我们可能不会得到任何输出,但会得到错误。那么如何处理这种情况呢?

我在 Power Query 中发现了两个标准步骤来捕获它们:

  • Remove errors (UI:主页/删除行/删除错误)-> 所有有错误的行都将被删除
  • Replace error values (UI:转换/替换错误)-> 必须首先选择列来执行此操作。

第一种可能性对我来说不是解决方案,因为我想保留行并仅替换错误值。

就我而言,我的数据表会随着时间的推移而改变,这意味着列名称可能会改变(例如年份),或者出现新列。所以第二种可能性太静态了,因为我不想每次都更改脚本。

因此,我尝试找到一种动态方法来清理所有列,而与列名称(和列数)无关。它用空值替换错误。

let
Source = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],

//Remove errors of all columns of the data source. ColumnName doesn't play any role
Cols = Table.ColumnNames(Source),
ColumnListWithParameter = Table.FromColumns({Cols, List.Repeat({""}, List.Count(Cols))}, {"ColName" as text, "ErrorHandling" as text}),
ParameterList = Table.ToRows(ColumnListWithParameter ),
ReplaceErrorSource = Table.ReplaceErrorValues(Source, ParameterList)
in
ReplaceErrorSource

在我向源添加两个新列(有错误)后,这是不同的三个查询消息:

如果有人有其他解决方案来进行此类数据清理,请在此处写下您的帖子。

最佳答案

let
src = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
cols = Table.ColumnNames(src),
replace = Table.ReplaceErrorValues(src, List.Transform(cols, each {_, "!"}))
in
replace

关于excel - 导入数据后替换所有列的所有错误值(同时保留行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39299331/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com