You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何合并相似字符串关联数值?许可证数量汇总方法咨询

嘿,这个需求其实挺常见的,给你几个超简单的办法,不需要复杂工具,直接就能处理记事本里的文本内容:

方法1:用Python脚本(最灵活,新手也能快速上手)

现在Windows系统大多自带Python,没有的话装起来也超简单。步骤如下:

  • 把记事本里的许可证数据全选复制(比如你给的示例内容)
  • 新建一个记事本文件,命名为count_licenses.py,把下面的代码粘贴进去,记得把示例数据替换成你自己的:
# 替换成你实际的许可证数据
license_data = "1 第三方SIP设备席位、1 第三方SIP设备席位、1 第三方SIP设备席位、3 工作站、3 工作站、3 工作站、20 工作站"

# 分割每一条许可证记录
license_items = license_data.split('、')
total_counts = {}

for item in license_items:
    # 分割数量和许可证名称(按第一个空格拆分,避免名称里有空格的情况)
    num_part, name = item.strip().split(' ', 1)
    num = int(num_part)
    # 累加数量
    if name in total_counts:
        total_counts[name] += num
    else:
        total_counts[name] = num

# 输出汇总结果
for license_name, total in total_counts.items():
    print(f"{total} {license_name}")
  • 保存后双击这个脚本,或者在命令行里运行python count_licenses.py,就能直接得到你要的汇总结果啦。

方法2:用PowerShell(Windows系统自带,不用装额外软件)

如果你不想写脚本,直接用系统自带的PowerShell就能搞定:

  • 复制记事本里的所有数据
  • 打开PowerShell,粘贴下面的命令(把示例数据替换成你复制的内容):
$rawData = "1 第三方SIP设备席位、1 第三方SIP设备席位、1 第三方SIP设备席位、3 工作站、3 工作站、3 工作站、20 工作站"
$records = $rawData -split '、'
$sumTable = @{}

foreach ($record in $records) {
    $count, $licenseName = $record.Trim() -split ' ', 2
    $sumTable[$licenseName] += [int]$count
}

$sumTable.GetEnumerator() | ForEach-Object { "$($_.Value) $($_.Key)" }
  • 按下回车,立刻就能看到汇总结果,直接复制出来用就行。

方法3:用Bash终端(Linux/macOS系统自带)

如果用的是Linux或者Mac,直接打开终端输入下面的命令(替换示例数据为你自己的):

echo "1 第三方SIP设备席位、1 第三方SIP设备席位、1 第三方SIP设备席位、3 工作站、3 工作站、3 工作站、20 工作站" | tr '、' '\n' | awk '{split($0, parts, " ", 2); totals[parts[2]] += parts[1]} END {for (type in totals) print totals[type], type}'
  • 回车后马上就能得到汇总结果,全程不用打开任何额外软件。

这些方法都能完美处理空格分隔的文本,而且处理完的结果直接就是你要的格式,之后导入数据库也很方便。

内容的提问来源于stack exchange,提问作者Kevin Burris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 07:47:54