1

私は初心者で、aiはtsvtxtファイルを生成するための小さなスクリプトを作成しました。

コードは

$("x")+ "`t" +("y") + "`t"+ $("z")| Add-Content C:\temp\DCO.txt
$i=0
$ts= Get-Date
while($i -le 1000000)
{
$x="N/A"
$y="N/A"
$z="N/A"
($x) + "`t"+ ($y)+ "`t"+ ($z)| Add-Content C:\temp\DCO.txt
$i++
}
$tf= Get-Date

かなりの時間がかかりました。サイズが約50MBまたはそれ以上のtsvファイルを書き込むための最適化された方法が他にある場合。

ありがとう

4

1 に答える 1

6

これを行うには、Export-CSV を使用します。値をオブジェクトに収集してエクスポートします。元:

#Create objects(think lines in a tsv) with properties and values
$o1 = New-Object psobject -Property @{
    Property1 = "Val1o1"
    Property2 = "Val2o1"
    Property3 = "Val3o1"
}

$o2 = New-Object psobject -Property @{
    Property1 = "Val1o2"
    Property2 = "Val2o2"
    Property3 = "Val3o2"
}

#Collect to array
$o = $o1, $o2

#Save to TSV
$o | Export-Csv "c:\test.tsv" -Delimiter `t -NoTypeInformation

#Add content
$o3 = New-Object psobject -Property @{
    Property1 = "Val1o3"
    Property2 = "Val2o3"
    Property3 = "Val3o3"
}

#Append to TSV-file
$o3 | Export-Csv "c:\test.tsv" -Delimiter `t -NoTypeInformation -Append

#To read file back to PowerShell objects
$a = Import-Csv "C:\test.tsv" -Delimiter `t

Test.tsv

"Property1" "Property2" "Property3"
"Val1o1"    "Val2o1"    "Val3o1"
"Val1o2"    "Val2o2"    "Val3o2"
"Val1o3"    "Val2o3"    "Val3o3"
于 2013-01-30T16:38:01.060 に答える