本帖最后由 went 于 2022-4-13 23:51 编辑
test.bat
bat和csv文件都保存ansi编码- #&cls&@cd /d "%~dp0"&powershell -c "Get-Content '%~0' | Out-String | Invoke-Expression" &pause&exit
- cls
- #输入csv文件
- $csv_in = '需要处理的.csv'
- #输出csv文件
- $csv_out = '1.csv'
- #名称明细列号
- $col1 = 7
- $col2 = 24
- &{
- '明细,数量,名称'
- &{
- Get-Content $csv_in | Select-Object -Skip 1 | foreach {
- $arr = $_ -replace ',,',',0,' -split ','
- @{'a'=$arr[$col1-1];'b'=$arr[$col2-1] -replace '(.*$',''}
- }
- } | Group-Object { $_.b } | Sort-Object { $_.Count } -Descending | foreach {
- $__ = $_
- $_.Group | foreach {
- '{0},{1},{2}' -f $__.Name,$__.Count,$_.a
- }
- }
- } | Select-Object -Unique | Out-File $csv_out -Encoding Default
复制代码
|