从包含分隔值的字段的 csv 文件中提取列
Extract columns from a csv file with fields containing delimited values
我正在尝试从 csv 文件中提取某些字段,这些字段具有逗号分隔值。
问题是,某些字段还包含逗号,并且这些字段未包含在引号中。在这种情况下,我该如何提取字段。
另外,只有一个字段在值中包含逗号,我不需要那个。例如:我想从 8 列的数据集中提取前 2 列和后 5 列,其中第三列包含带有逗号
的值
PS: Instead of down voting i would suggest to come ahead and post your
brilliant ideas if you have any.
解决方案:
$path = "C:\IE3BW0047A_08112017133859.csv"
Get-Content $path| Foreach {"$($_.split(',')[0,1,-8,-7,-6,-5,-4,-3,-2,-1] -join '|')"} | set-content C:\IE3BW0047A_08112017133859_filter.csv
我正在尝试从 csv 文件中提取某些字段,这些字段具有逗号分隔值。 问题是,某些字段还包含逗号,并且这些字段未包含在引号中。在这种情况下,我该如何提取字段。
另外,只有一个字段在值中包含逗号,我不需要那个。例如:我想从 8 列的数据集中提取前 2 列和后 5 列,其中第三列包含带有逗号
的值PS: Instead of down voting i would suggest to come ahead and post your brilliant ideas if you have any.
解决方案:
$path = "C:\IE3BW0047A_08112017133859.csv"
Get-Content $path| Foreach {"$($_.split(',')[0,1,-8,-7,-6,-5,-4,-3,-2,-1] -join '|')"} | set-content C:\IE3BW0047A_08112017133859_filter.csv