2013-07-23 36 views
0

你好老鄉Stackoverflowers,更改值

再次,我被困在某個特定的問題,我希望可以用PS來解決:

一個地理信息系統推出線以下表格到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; 

等等....

我想保持這種形式,但第三semicolo後更改每一行的值n(此處爲)轉換爲每行第一個值所指定的值(House XX)。要施加的值是爲房屋5,爲樓8,到房子2和至房屋12

此外,還有一些不必須要改變「家」在列表中:衆議院9衆議院11衆議院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; 

所以,當我提供了所有不同的「家」的changevalues(也可以用列表),可以將PS腳本保存我手動改變工作?

在此先感謝!

回答

1

所以它的hollidays這裏,但我喜歡做sombody的功課:

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。