0

你好Stackoverflowers,

再一次,我遇到了一个我希望可以用 PS 解决的问题:

GIS 程序将以下形式的行输出到 csv 中:

"House 5";9660.7734;1782.7454;0;0;
"House 9";9675.0684;1779.7888;0;0;
"House 8";9675.0684;1779.7888;0;0;
"House 2";9688.3779;1777.323;0;0;
"House 12";9709.5742;1772.3938;0;0;
"House 11";9709.5742;1772.3938;0;0;
"House 12";9734.2217;1771.4075;0;0;
"House 8";9755.9111;1770.4211;0;0;
"House 5";9779.0801;1770.9155;0;0;
"House 7";9779.0801;1770.9155;0;0;
"House 2";9802.7412;1770.9155;0;0;

等等....

我想保留该表格,但将第三个分号(此处为 0)之后的每一行的值更改为每行的第一个值(House XX)指定的值。要应用的值是House 5为15, House 812House 28,House 123

此外,列表中有“房屋”不必更改:House 9House 11House 7。最后,输出文件(同样是 csv)应如下所示:

"House 5";9660.7734;1782.7454;15;0;
"House 9";9675.0684;1779.7888;0;0;
"House 8";9675.0684;1779.7888;12;0;
"House 2";9688.3779;1777.323;8;0;
"House 12";9709.5742;1772.3938;3;0;
"House 11";9709.5742;1772.3938;0;0;
"House 12";9734.2217;1771.4075;3;0;
"House 8";9755.9111;1770.4211;12;0;
"House 5";9779.0801;1770.9155;15;0;
"House 7";9779.0801;1770.9155;0;0;
"House 2";9802.7412;1770.9155;8;0;

那么,当我为所有不同的“房屋”(也可以使用列表)提供更改值时,PS 脚本可以为我节省手动更改的工作吗?

提前致谢!

4

1 回答 1

1

所以这里是假期,但我想做一些功课:

Import-Csv yourfile.csv -Delimiter ';' -header 'a','b','c','d','e' | % {$a=$_;switch -regex ($_.a) {.*5 {$a.d=15} .*8 {$a.d=12} "House 12" {$a.d=3} "House 2" {$a.d=8}};$_}

您可以通过管道传输到 export-csv。

于 2013-07-23T13:42:50.293 回答