0

我有多个测量文件,每个文件都有一列数字数据。(更新:脚本应该适用于可变数量的测量文件。)

数据1.dat

1.0
2.0
3.0

数据2.dat

10.0
20.0
30.0

...

数据N.dat

1
1
1

如何使用Powershell将这些数据文件合并到逗号分隔值文件中?

"data1","data2.dat",...,"dataN.dat"
1.0,10.0,...,1
2.0,20.0,...,1
3.0,30.0,...,1

有关的

4

2 回答 2

2

这是一种方法:

$files = Get-ChildItem D:\temp *.dat
$header = $files|foreach {$_.basename}
$content= $files | foreach { ,(gc $_.fullname) }

$lines = for($i=0; $i -lt $content[0].Count; $i++)
{
    $line = for($x=0; $x -lt $files.count; $x++)
    {
        $content[$x][$i]        
    }

    $line -join ','
}

$lines | ConvertFrom-Csv -Header $header | Export-Csv data.csv
于 2013-05-29T08:54:36.170 回答
1

你可以尝试这样的事情:

$file1 = "C:\firstTxtFile.txt"
$file2 = "C:\SecondTxtFile.txt"
$outputFile = "C:\Output.txt"

$file1String = Get-content $file1 
$file2String = Get-content $file2

'"data1.dat","data2.dat"' > $outputFile

$counter = 0
while(($file1String[$counter] -ne $null) -and ($file2String[$counter] -ne $null)){
    $Line = $file1String[$counter] + "," + $file2String[$counter]
    $line >> $outputFile
    $counter++
}

这将需要两个文本文件并将它们组合成一个输出文件。

注意:每次运行时都会覆盖输出文件。

于 2013-05-29T08:53:23.843 回答