【发布时间】:2019-09-03 16:03:56
【问题描述】:
我从一个无法修改为 CSV 的系统收到一份自动报告。我正在使用 PowerShell 将 CSV 拆分为多个文件并解析出所需的特定数据。 CSV 包含的列可能不包含数据、1 个值或在 CSV 文件本身中以逗号分隔的多个值。
示例(为清楚起见已更新):
"Group","Members"
"Event","362403"
"Risk","324542, 340668, 292196"
"Approval","AA-334454, 344366, 323570, 322827, 360225, 358850, 345935"
"ITS","345935, 358850"
"Services",""
我希望数据每行有一个这样的条目(为清晰而更新):
"Group","Members"
"Event","362403"
"Risk","324542"
"Risk","340668"
"Risk","292196"
#etc.
我尝试拆分数据,但最后得到的列数未知。
我尝试了foreach 循环,但似乎无法正确处理(下面的伪代码):
Import-CSV $Groups
ForEach ($line in $Groups){
If($_.'Members'.count -gt 1, add-content "$_.Group,$_.Members[2]",)}
感谢您提供的任何帮助。我已经搜索了所有 stackexchange 帖子并使用了 Google,但找不到可以解决这个确切问题的内容。
【问题讨论】:
-
我已经更新了源代码和输出以获得更好的清晰度。
标签: powershell csv