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

如何用PowerShell将多个TXT文件数据合并到单个XLSX或CSV文件

解决制表符分隔TXT文件合并为CSV/XLSX的格式问题

你的现有代码直接读取文本行并追加内容,没有识别制表符作为列分隔符,导致所有数据挤在单个单元格里。下面是两种正确的实现方案,确保列能正常拆分,且仅保留一次表头:

合并为CSV文件

使用PowerShell原生的CSV处理 cmdlet,明确指定制表符为分隔符:

$headerWritten = $false
$outputPath = "YOUR_DESTINATION_FILE.csv"

Get-ChildItem "YOUR_DIRECTORY\*.txt" | ForEach-Object {
    $data = Import-Csv -Path $_.FullName -Delimiter "`t"
    
    if (-not $headerWritten) {
        $data | Export-Csv -Path $outputPath -NoTypeInformation -Encoding UTF8
        $headerWritten = $true
    } else {
        $data | Export-Csv -Path $outputPath -NoTypeInformation -Encoding UTF8 -Append
    }
}

合并为XLSX文件

需要先安装ImportExcel模块(PowerShell原生无XLSX导出功能):

Install-Module -Name ImportExcel -Scope CurrentUser -Force

然后执行合并代码:

$headerWritten = $false
$outputPath = "YOUR_DESTINATION_FILE.xlsx"

Get-ChildItem "YOUR_DIRECTORY\*.txt" | ForEach-Object {
    $data = Import-Csv -Path $_.FullName -Delimiter "`t"
    
    if (-not $headerWritten) {
        $data | Export-Excel -Path $outputPath -AutoSize -TableName "CombinedData"
        $headerWritten = $true
    } else {
        $data | Export-Excel -Path $outputPath -AutoSize -TableName "CombinedData" -Append
    }
}

注意事项

  • 替换代码中的YOUR_DIRECTORY和YOUR_DESTINATION_FILE为实际路径
  • 确保所有TXT文件的表头完全一致,否则合并后列会出现错位或缺失
  • 如果TXT文件使用非UTF8编码,可在Import-Csv中添加-Encoding参数(如-Encoding Default或-Encoding UTF7)适配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 02:33:28