你好伙伴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;
依旧......
我想保留这种形式,但是在第3个分号(此处为 0 )之后将每行的值更改为每行第1个值( House XX )的值。 )。 House 5 的 15 , House 8 的 12 , 8 到 House 2 和 3 到 House 12 。
此外,列表中的“房屋”不需要更改: House 9 , House 11 和 House 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脚本能否为我节省手动更改的工作?
提前致谢!
答案 0 :(得分: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}};$_}
您可以管道导出-csv。