将两个 CSV 文件合并为一个 CSV
Combining two CSV files into one CSV
我最近制作了一个简单的脚本,它导入一个源 CSV 文件并使用 Add-Member
函数创建一个新列,然后将目标 CSV 文件中的数据插入到所述列中,然后导出到一个新文件.我的数据示例是这样的:
注意:这在 Powershell v1.0
上失败
源 CSV:
File Path
C:\Users\User\Documents - Filetype: xlsx
C:\Users\User\Documents - Filetype: docx
C:\Users\User\Documents - Filetype: pdf
目标 CSV:
File Count
0
1
2
结果 CSV:
File Path
C:\Users\User\Documents - Filetype: xlsx
C:\Users\User\Documents - Filetype: docx
C:\Users\User\Documents - Filetype: pdf
除了以上不是我想要的结果。这是我目前的代码,我需要它在 Powershell v1.0 上工作,目前它不需要,它在 2.0 及更高版本上工作。这是我的代码和期望的结果:
$source = Import-Csv -Path "C:\Support\Path_Filetype.csv"
$target = Import-Csv -Path "C:\Support\Count.csv"
$source | % {$i=0} {
$source[$i] | Add-Member Name 'File Count' Value $target[$i++]."File Count";
}
$source | Export-Csv "C:\Support\Path_Count.csv" -NoTypeInformation
期望的结果 CSV:
File Path File Count
C:\Users\User\Documents - Filetype: xlsx 0
C:\Users\User\Documents - Filetype: docx 1
C:\Users\User\Documents - Filetype: pdf 2
通过使用以下代码 - 这将获得您想要的结果,就像我自己一样。
$input1 = Import-Csv -Path "C:\temp\test.txt"
$input2 = Import-Csv -Path "C:\Support\Count.csv"
$list = for ($i=0; $i -lt $input1.Count; $i++) {
New-Object -Type PSCustomObject -Property @{
'File Path' = $input1[$i]
'File Count' = $input2[$i]
}
}
$list | Export-Csv "C:\Support\Count.csv" -NoType
我最近制作了一个简单的脚本,它导入一个源 CSV 文件并使用 Add-Member
函数创建一个新列,然后将目标 CSV 文件中的数据插入到所述列中,然后导出到一个新文件.我的数据示例是这样的:
注意:这在 Powershell v1.0
上失败源 CSV:
File Path
C:\Users\User\Documents - Filetype: xlsx
C:\Users\User\Documents - Filetype: docx
C:\Users\User\Documents - Filetype: pdf
目标 CSV:
File Count
0
1
2
结果 CSV:
File Path
C:\Users\User\Documents - Filetype: xlsx
C:\Users\User\Documents - Filetype: docx
C:\Users\User\Documents - Filetype: pdf
除了以上不是我想要的结果。这是我目前的代码,我需要它在 Powershell v1.0 上工作,目前它不需要,它在 2.0 及更高版本上工作。这是我的代码和期望的结果:
$source = Import-Csv -Path "C:\Support\Path_Filetype.csv"
$target = Import-Csv -Path "C:\Support\Count.csv"
$source | % {$i=0} {
$source[$i] | Add-Member Name 'File Count' Value $target[$i++]."File Count";
}
$source | Export-Csv "C:\Support\Path_Count.csv" -NoTypeInformation
期望的结果 CSV:
File Path File Count
C:\Users\User\Documents - Filetype: xlsx 0
C:\Users\User\Documents - Filetype: docx 1
C:\Users\User\Documents - Filetype: pdf 2
通过使用以下代码 - 这将获得您想要的结果,就像我自己一样。
$input1 = Import-Csv -Path "C:\temp\test.txt"
$input2 = Import-Csv -Path "C:\Support\Count.csv"
$list = for ($i=0; $i -lt $input1.Count; $i++) {
New-Object -Type PSCustomObject -Property @{
'File Path' = $input1[$i]
'File Count' = $input2[$i]
}
}
$list | Export-Csv "C:\Support\Count.csv" -NoType