由于公司政策,我对编程工具的访问权限有限。Powershell脚本合并多个CSV与一些共享头文件
我正在使用PowerShell转换包含在文件夹中的多个Excel文件,以将这些文件转换为CSV,然后将这些CSV合并在一起。
到目前为止,我已经建立了我的脚本,使其将所有的Excel文件,并创建相结合的CSV格式,并输出到1个CSV另一部分
我的问题:
输出CSV做不会将相似的标题分组在一起,实质上我创建的输出CSV是无用的。
我有8 CSV与下列头
INPUT:(CSV的)
- 承授人,角色管理,委托者,默认,普通
- 承授人,角色管理,委托者,默认,普通
- 受让人,角色,管理员,委派者,默认,通用
- 受让人,角色,管理员,委派者,默认,通用
- 承授人,角色管理,默认
- 承授人,角色管理,默认
- 承授人,角色管理,默认
- 承授人,角色管理,默认
OUTPUT:
1 CSV用以下接头:
Grantee, Role, Admin, Delegator, Default, Common
重复是可以在输出文件, 我不知道如何处理4个csvs没有“Delegator”和“Common”标头的空值。
这是我到目前为止有:
foreach($file in (Get-ChildItem "C:\Users\ZZZZZZ\Desktop\PROJECT"))
{
$newname = $file.FullName -replace '\.xls$', '.csv'
$ExcelWB = new-object -comobject excel.application
$Workbook = $ExcelWB.Workbooks.Open($file.FullName)
$Workbook.SaveAS($newname,6)
$Workbook.Close($false)
$ExcelWB.quit()
}
#combines all csv
#combines them but does not line up the shared headers and also inserts the headers of the new csv into the sheet, would like to only have 1 header in the output
$files = Get-ChildItem C:\Users\ZZZZZZ\Desktop\Project\*.csv
Get-Content $files | Set-Content C:\Users\ZZZZZZ\Desktop\Project\MERGED.csv
我真的很感谢所有帮助任何人都可以给我,不得不做了很多的研究,以得到这一点“如何安装PowerShell”,“如何'写'脚本“,这是我第一次使用PowerShell。
感谢您的帮助Mathias,我认为我们正朝着正确的方向前进,但它似乎创造了一个永无止境的csv。这个过程继续运行直到我终止它。 – rpenergy