0
我有包含數百個以下的行(對象)一個GIS輸入文件中的「0」缺失的輸入數據:替換在輸出中CSV/TXT與Powershell的
{
POSITION="[950.28174, 797.89899]";
TYPE="Saltlake";
AZIMUT="-25.722504";
PARENT="";
};
{
POSITION="[900.71307, 777.2226, -3.8146973]";
TYPE="Oak";
AZIMUT="-168.15758";
PARENT="";
};
POSITION裝置的長度,寬度,高度[x,y,z]。目前我使用這個PowerShell腳本的輸入轉換爲下一個工具:
$d=gc input.txt
[email protected]()
for ($i=0; $i -le $d.count -2; ++$i) {
if($d[$i] -match "POSITION") {
$pos = $d[$i].Replace('POSITION="[', '').Replace(',',';').Replace(']";','').Replace(' ', '').trim()
$typ = $d[$i+1].Replace('TYPE=', '').Replace(';', '').Replace(' ', '').trim()
$ori = $d[$i+2].Replace('AZIMUT="', '').Replace('"', '').Replace('PARENT=;', '').Replace(' ', '').trim()
$rows += $("{0};{1};{2}" -f $typ,$pos,$ori)
}
}
sc -path output.csv -value $rows
此output.txt看起來是這樣的:
"Saltlake";950.28174;797.89899;-25.722504;
"Oak";900.71307;777.2226;-3.8146973e-006;-168.15758;
什麼情況是,接下來的轉換工具的失誤AZIMUT值「Saltlake」表示它的Z位置,因爲在input.txt的POSITION的y值之後沒有輸入 - 與「Oak」不同。
現在,是否有可能用「0」替換缺少的Z輸入空間,當然,如果給出Z位置,不要替換它嗎?
的目的是使output.txt的是這樣的:
"Saltlake";950.28174;797.89899;0;-25.722504;
"Oak";900.71307;777.2226;-3.8146973e-006;-168.15758;
非常感謝!這工作相當好! – user2094242 2013-02-24 10:24:43