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

如何用PowerShell合并同表头多CSV文件并保留单个表头

问题

我在文件夹D:\reports\daily_csv中有多个表头相同的CSV文件,示例如下:

file1

"Index","Response","Status","Time"
"32190","2","Succeeded","2023-01-18 08:31:34.9"
"32189","3","Succeeded","2023-01-18 08:26:34.9"
"32188","3","Succeeded","2023-01-18 08:21:34.9"

file2

"Index","Response","Status","Time"
"32190","2","Succeeded","2023-01-19 08:31:34.9"
"32189","3","Succeeded","2023-01-19 08:26:34.9"
"32188","3","Succeeded","2023-01-19 08:21:34.9"

需要将这些文件合并为仅含单个表头的CSV文件,目标格式如下:

"Index","Response","Status","Time"
"32190","2","Succeeded","2023-01-18 08:31:34.9"
"32189","3","Succeeded","2023-01-18 08:26:34.9"
"32188","3","Succeeded","2023-01-18 08:21:34.9"
"32190","2","Succeeded","2023-01-19 08:31:34.9"
"32189","3","Succeeded","2023-01-19 08:26:34.9"
"32188","3","Succeeded","2023-01-19 08:21:34.9"

我使用了以下PowerShell代码,但无法实现单个表头的效果,请问需要添加什么内容来避免重复表头?

$folder = 'D:\reports\daily_csv' 
$files = Get-ChildItem $folder\*.csv 
Get-Content $files | Set-Content "D:\Monthly\Merged_$prev_month.csv"

解决方案

提供两种可靠的实现方式,按需选择:

方法1:直接操作文本行(适合确认表头完全一致场景)

提取第一个文件的完整内容(含表头),后续文件跳过第一行表头后追加:

$folder = 'D:\reports\daily_csv' 
$files = Get-ChildItem $folder\*.csv

# 写入第一个文件的全部内容(包含表头)
Get-Content $files[0] | Set-Content "D:\Monthly\Merged_$prev_month.csv"

# 遍历剩余文件,跳过第一行表头后追加内容
foreach ($file in $files[1..($files.Count-1)]) {
    Get-Content $file | Select-Object -Skip 1 | Add-Content "D:\Monthly\Merged_$prev_month.csv"
}

方法2:用PowerShell CSV cmdlet自动处理(推荐)

利用Import-Csv和Export-Csv自动识别表头并合并数据,无需手动处理行,还能兼容字段顺序不一致的情况(字段名需一致):

$folder = 'D:\reports\daily_csv' 
$files = Get-ChildItem $folder\*.csv

# 导入所有CSV数据,导出时自动保留单个表头
Import-Csv $files | Export-Csv -Path "D:\Monthly\Merged_$prev_month.csv" -NoTypeInformation

两种方法对比

  • 方法1:严格保留原始文本格式,但要求所有文件表头完全一致,否则会导致数据错位。
  • 方法2:PowerShell官方推荐的CSV处理方式,自动处理表头、编码问题,容错性更强,优先推荐。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 01:40:38