对chatgpt太失望了, 近百轮下来都搞不定一个平均分割的问题,
我有一个csv文件, 想把它平均分成三份,每份都要有标题头,GPT的代码执行后,每份中的标题头下面的第一行文本都是一样的,- # 设置输入文件路径
- $inputFilePath = "A.csv"
-
- # 读取 CSV 文件,使用默认编码(适合 GBK)
- $data = Import-Csv -Path $inputFilePath -Encoding Default
-
- # 获取标题头
- $header = $data[0] # 获取标题头
-
- # 获取数据部分
- $dataRows = $data[1..($data.Count - 1)] # 获取数据部分
-
- # 计算总行数
- $totalRows = $dataRows.Count
-
- # 动态分割行数
- $partSize = [math]::Ceiling($totalRows / 3)
-
- # 分割数据并导出到新的 CSV 文件
- for ($i = 0; $i -lt 3; $i++) {
- $startIndex = $i * $partSize
- if ($startIndex -ge $totalRows) { break } # 如果开始索引超出数据范围,退出循环
-
- # 计算结束索引,确保不超出数据范围
- $endIndex = [math]::Min($startIndex + $partSize - 1, $totalRows - 1)
-
- # 提取当前分割的数据
- $currentData = $dataRows[$startIndex..$endIndex]
-
- # 设置输出文件路径
- $outputFilePath = "A_part$i.csv"
-
- # 将标题头导出到新的 CSV 文件
- $header | Export-Csv -Path $outputFilePath -NoTypeInformation -Encoding Default
-
- # 将当前数据导出到同一文件,确保每个文件都包含独立数据
- $currentData | Export-Csv -Path $outputFilePath -NoTypeInformation -Encoding Default -Append
- }
复制代码
|