我有以下问题:
我有一个CSV文件,如下所示:
1,12
1,15
1,18
2,10
2,11
3,20
我想以某种方式解析它:
1,12,15,18
2,10,11
3,20
你有解决方案吗?谢谢!
答案 0 :(得分:0)
我不知道您的确切代码要求。我会尝试写一些可以帮助你的逻辑!
所以接下来打印或使用跳过奇数索引,如果你有一个现有值。
希望这会有所帮助......
答案 1 :(得分:0)
Satyaranjan,
感谢您的回答!澄清 - 我没有任何代码要求,我可以使用任何语言来实现结果。重点是从第一个位置(1,2,3)获取唯一值,并将所有相关数字放在右侧(1 - 12,15和18等)。
它类似于MySQL中的GROUP_CONCAT功能 - 但不幸的是我没有这样的功能,所以我正在寻找一些解决方法。
希望现在更清楚了。感谢
答案 2 :(得分:0)
这是一个适合您的解决方案。
第一部分只是设置了测试示例。我假设您已经在脚本的第二部分中有一个包含值的文件。
$path = "$env:TEMP\csv.txt"
$data =@"
1,12
1,15
1,18
2,10
2,11
3,20
"@
$data | Set-Content $path
这应该是你所需要的:
$path = "$env:TEMP\csv.txt"
$results = @{}
foreach($line in (Get-Content $path))
{
$split = $line -split ','
$rowid = $split[0]
$data = $split[1]
if(-not($results.$rowid))
{
$results.$rowid = $rowid
}
$results.$rowid += "," + $data
}
$results.values | Sort-Object
您的原始数据集无需进行排序即可使用此数据集。我将数据切片并将其插入哈希表。