如何从导航器窗格中获取表格并合并
How to get Tables from Navigator Pane and Combine
这是在 Alexis 的指导下更正后的代码。我的 PDF returns 每个输出页有两 table(和 1 页 Table)。 Table001 被扔掉了。我只需要偶数 Tables 所以我使用 List.Select 删除页面 Table 和 List.Alternate 跳过奇数 tables.
let
Source = Pdf.Tables(File.Contents("State_Fico.pdf"), [Implementation="1.3"]),
TableNames = List.Alternate(List.Select(Table.Column(Source, "Id"),each Text.Contains(_,"Table")),1,1),
TableList = List.Transform(TableNames, each Source{[Id=_]}[Data]),
CombineTables = Table.Combine(TableList)
in
CombineTables
无论 pdf 有多少页,我都可以生成 1 table。
虽然这并不能真正回答您标题中的问题,但我认为最好的方法是完全不使用 Expression.Evaluate
,而是使用列表转换( s).
例如,如果要附加 Table002
和 Table004
,可以在表列表中使用 Table.Combine
,{Table002, Table004}
。
代码可能如下所示:
let
Source = Pdf.Tables(File.Contents("State_Fico.pdf"), [Implementation="1.3"]),
#"Transposed Table" = Table.Transpose(Source),
#"Promoted Headers" = Table.PromoteHeaders(#"Transposed Table", [PromoteAllScalars=true]),
#"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"Page001", type any}, {"Table001", type any}, {"Page002", type any}, {"Table002", type any}, {"Table003", type any}, {"Table004", type any}}),
ColumnNames = Table.ColumnNames(#"Changed Type"),
TableNames = List.Alternate(List.Select(ColumnNames, each Text.Contains(_ ,"Table")),1,1),
//--New Steps Below--//
TableList = List.Transform(TableNames, each Source{[ID=_]}[Data]),
CombineTables = Table.Combine(TableList)
in
CombineTables
这是在 Alexis 的指导下更正后的代码。我的 PDF returns 每个输出页有两 table(和 1 页 Table)。 Table001 被扔掉了。我只需要偶数 Tables 所以我使用 List.Select 删除页面 Table 和 List.Alternate 跳过奇数 tables.
let
Source = Pdf.Tables(File.Contents("State_Fico.pdf"), [Implementation="1.3"]),
TableNames = List.Alternate(List.Select(Table.Column(Source, "Id"),each Text.Contains(_,"Table")),1,1),
TableList = List.Transform(TableNames, each Source{[Id=_]}[Data]),
CombineTables = Table.Combine(TableList)
in
CombineTables
无论 pdf 有多少页,我都可以生成 1 table。
虽然这并不能真正回答您标题中的问题,但我认为最好的方法是完全不使用 Expression.Evaluate
,而是使用列表转换( s).
例如,如果要附加 Table002
和 Table004
,可以在表列表中使用 Table.Combine
,{Table002, Table004}
。
代码可能如下所示:
let
Source = Pdf.Tables(File.Contents("State_Fico.pdf"), [Implementation="1.3"]),
#"Transposed Table" = Table.Transpose(Source),
#"Promoted Headers" = Table.PromoteHeaders(#"Transposed Table", [PromoteAllScalars=true]),
#"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"Page001", type any}, {"Table001", type any}, {"Page002", type any}, {"Table002", type any}, {"Table003", type any}, {"Table004", type any}}),
ColumnNames = Table.ColumnNames(#"Changed Type"),
TableNames = List.Alternate(List.Select(ColumnNames, each Text.Contains(_ ,"Table")),1,1),
//--New Steps Below--//
TableList = List.Transform(TableNames, each Source{[ID=_]}[Data]),
CombineTables = Table.Combine(TableList)
in
CombineTables