我有一个大约10 k行的CSV转储。我尝试使用Powershell基于商店字段将其拆分为多个文件。
主文件内容
Date, Store, Product
11/16 NYC 100
11/16 NYC 101
11/16 BOS 100
11/16 BOS 101
根据这些数据,我需要为NYC创建一个文件,为BOS创建另一个文件及其相应的内容。
我想要一些快速的东西。我考虑过循环每一行并检查前一行并进行比较,但我想可能它太慢了。
然后我考虑使用Group-Object cmdlet
import-csv C:\masteFile.csv | Group-Object{$_.store}
The output is
Count Name Group
2 NYC {@{DATE=11/06; STORE=NYC; PRODUCT=100},{@{DATE=11/06; STORE=NYC; PRODUCT=101}}
3 BOS {@{DATE=11/06; STORE=BOS; PRODUCT=100},{@{DATE=11/06; STORE=BOS; PRODUCT=101}}... AND SO ON
我试图从每个对象获取内容并创建一个新文件。
答案 0 :(得分:2)
尝试运行
Import-Csv C:\masteFile.csv | Group-Object Store | ForEach-Object { $_.Group | Export-Csv "$($_.Name).csv" }
它读取输入文件,对输入的内容进行分组,然后对结果中的每个组创建一个新的csv文件,其中包含具有组名称的组内容。