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

如何按Server Name字段拆分CSV数据为多个对应独立文件

CSV按Server Name字段拆分实现方法

以下提供三种常用场景的实现方案,可根据你的使用环境直接选用:

1. Python跨平台实现(推荐,兼容性最强)

直接使用Python自带的csv模块,无需安装第三方依赖,代码如下:

import csv
from collections import defaultdict

# 替换为你的原始CSV文件路径
input_file = "source.csv"
grouped_data = defaultdict(list)

# 读取原始CSV数据并按服务器名分组
with open(input_file, 'r', newline='', encoding='utf-8') as f:
    reader = csv.reader(f)
    # 提取表头
    header = next(reader)
    for row in reader:
        server_name = row[0]
        grouped_data[server_name].append(row)

# 按分组生成独立CSV文件
for server, rows in grouped_data.items():
    output_file = f"{server}.csv"
    with open(output_file, 'w', newline='', encoding='utf-8') as f:
        writer = csv.writer(f)
        # 写入表头
        writer.writerow(header)
        # 写入对应服务器的所有数据行
        writer.writerows(rows)

运行后会在当前目录生成BR502.csv、BR503.csv等独立文件,每个文件都包含完整表头和对应服务器的全部数据。

2. Linux/macOS Shell一行实现

使用awk命令直接处理,适合命令行环境:

awk -F '","' 'NR==1{header=$0} NR>1{fname=substr($1,2)".csv"; if(!seen[fname]++) print header > fname; print $0 >> fname; close(fname)}' source.csv

命令逻辑说明:

  • 读取第一行保存为表头
  • 从第二行开始提取第一个字段的服务器名作为输出文件名
  • 首次写入某个服务器文件时先写入表头,再追加数据行

3. Windows PowerShell实现

适合Windows系统原生PowerShell环境,无需额外安装软件:

# 替换为你的原始CSV文件路径
$csv = Import-Csv -Path "source.csv"
# 按Server Name字段分组
$groups = $csv | Group-Object -Property "Server Name"
# 每个分组导出为单独CSV
foreach ($group in $groups) {
    $outputPath = ".\$($group.Name).csv"
    $group.Group | Export-Csv -Path $outputPath -NoTypeInformation -Encoding UTF8
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 09:09:03