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

PowerShell脚本开发:通过CSV生成多份文本文件

PowerShell脚本:按CSV类别自动生成TXT文件

完整实现脚本

# 导入CSV文件,根据实际分隔符调整-Delimiter参数
$csvData = Import-Csv -Path "path.csv" -Delimiter ";"

# 按「类别」字段分组数据
$groupedData = $csvData | Group-Object -Property Category

# 遍历每个分组生成对应TXT文件
foreach ($group in $groupedData) {
    # 构建文件名:类别名称.txt
    $fileName = "$($group.Name).txt"
    # 拼接每条记录为指定格式:产品 - 定价状态
    $fileContent = $group.Group | ForEach-Object { "$($_.产品) - $($_.定价状态)" }
    # 将内容写入文件(覆盖已有文件,如需追加可改用Add-Content)
    $fileContent | Out-File -Path $fileName -Encoding UTF8
}

关键步骤说明

  • 导入CSV数据:使用Import-Csv读取目标文件,注意匹配实际的分隔符(示例中为;,如果是逗号可省略-Delimiter参数)。
  • 按类别分组:通过Group-Object将相同类别的记录聚合,避免重复处理,大幅简化逻辑。
  • 生成文件内容:
    1. 以分组的类别名称作为文件名,确保每个类别对应独立的TXT文件。
    2. 遍历分组内的每条记录,拼接成要求的字符串格式。
    3. 使用Out-File写入文件,指定UTF8编码避免中文乱码;若需要保留历史内容追加写入,可替换为Add-Content。

原代码问题分析

你之前的嵌套循环逻辑存在冗余:每次循环都将类别添加到数组,再遍历数组会导致重复处理相同类别,且没有实现按类别聚合生成文件的核心逻辑。使用Group-Object是PowerShell中处理这类分组需求的最优方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 16:15:34