将 CSV 文件批量导入 PowerShell

Mass importing CSV files into PowerShell

我有一个充满 .CSV 文件的目录。我希望 PowerShell 导入每个文件并将每个文件存储为单独的变量。目前我依靠 while 循环并让用户手动输入每个 CSV 文件。

但是,手动输入对用户来说非常繁琐且耗时,我希望 PowerShell 自动执行此任务。这样做的最佳方法是什么?我考虑过让 PowerShell 通过“*.csv”生成一个列表,将其保存到一个变量,然后循环遍历所述列表以进行批量导入。是否有更好的方法来完成这项任务?提前致谢。

我认为与其将每个文件都保存为自己的变量,不如将文件导入哈希表,其中文件名是键,导入的数据是值。

$CSVData = @{}
Get-ChildItem '.\*.csv' | ForEach{$CSVData.Add($_.Name,(Import-CSV $_.FullName))}

然后,假设其中一个文件是您想要访问的 'MarchSales.csv'。您可以简单地引用 $CSVData['MarchSales.csv'] 来处理数据。想要处理来自每个文件的数据?像这样的东西可以工作:

ForEach($filename in $CSVData.Keys){

    Do Stuff With $CSVData[$filename]

}