【发布时间】:2018-03-05 19:36:49
【问题描述】:
有没有人有创造性的方法来处理像数据库表一样的多维数组或哈希表,以便您可以对其执行简单的 SELECT-WHERE、SUM、COUNT 和 GROUP-BY 或等效查询?
这里有一些示例数据,我想将其解析为不同的汇总文件。我查看每行的第一个字段,并对以 SD 开头的行中的数据进行分组或求和。我不知道我应该深入了解细节,但事实上,我对 PS 的了解还不足以让我的脚本变得性感:
OH;1;ACME Inc;Arlington,VA 22204,USA;CSV;wiley@acme.inc;2018-01-07;;8074688; SD;2;8074688;M/C;2018-01-05;00000523094871;04.01.18;04.01.18;2804,00;35,34;2768,66;6;89005257251;;; SD;3;8074688;VISA;2018-01-05;00000523085587;05.01.18;05.01.18;1070,00;13,48;1056,52;1;91005299658;;; SD;4;8074688;VISA;2018-01-05;00000523088281;05.01.18;05.01.18;3850,00;48,51;3801,49;4;91005299661;;; SD;5;8074688;M/C;2018-01-05;00000523088281;05.01.18;05.01.18;1100,00;13,86;1086,14;2;91005299667;;; SD;6;8074688;MSTO;2018-01-05;00000523088281;05.01.18;05.01.18;1100,00;13,86;1086,14;1;91005299671;;; SD;7;8074688;MCDE;2018-01-05;00000523091962;04.01.18;04.01.18;46,00;0,58;45,42;1;91005299674;; SD;8;8074688;VISA;2018-01-05;00000524454189;02.01.18;04.01.18;900,00;11,32;888,68;19;91005299677;;; SD;9;8074688;M/C;2018-01-05;00000524454189;02.01.18;04.01.18;420,00;5,29;414,71;9;91005299698;;; SD;10;8074688;MSTO;2018-01-05;00000524454189;03.01.18;03.01.18;290,00;3,66;286,34;4;91005299709;;; SD;11;8074688;VISA;2018-01-05;00000523082217;05.01.18;05.01.18;500,00;6,30;493,70;1;91005702322;;; SD;12;8074688;M/C;2018-01-05;00000523082217;05.01.18;05.01.18;300,00;3,78;296,22;1;91005702325;;; SD;13;8074688;VISA;2018-01-05;00000523087382;05.01.18;05.01.18;1116,00;14,06;1101,94;3;91005702328;;; SD;14;8074688;M/C;2018-01-05;00000523087382;05.01.18;05.01.18;1840,00;23,19;1816,81;5;91005702333;;; BD;15;8074688;;2018-01-07;0111800705600;15336,00;193,23;15142,77;57;; TD;16;8074688;M/C;;00000523094 871;;;;89005257251; TD;17;8074688;MC 缺点 CR;2018-01-04;143954;;X9235;500,00;89005257251; TD;18;8074688;MC 缺点 CR;2018-01-04;150906;;X2107;52,00;89005257251; TD;19;8074688;MC 缺点 CR;2018-01-04;153840;;X6804;1000,00;89005257251; TD;20;8074688;MC 缺点 CR;2018-01-04;173636;;X2107;52,00;89005257251; TD;21;8074688;MC 缺点 CR;2018-01-04;193801;;X1042;200,00;89005257251; TD;22;8074688;MC 缺点 CR;2018-01-04;223605;;X3268;1000,00;89005257251;【问题讨论】:
-
您可以使用
[psobject]或[pscustomobject]创建对象。然后内置 Cmldets 如Where-Object,Group-Object等来获取对象值的子集。有什么你不能用这种方法做的吗? -
那些 cmdlet 已经在阵列上工作了。它们还可以处理散列的 .Values 或 .Keys。
-
您现在想如何查询数组的具体示例是什么?
标签: arrays powershell hashtable