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

如何为按字典生成的CSV文件添加自定义非格式首行?

给拆分后的CSV文件添加自定义首行

原代码实现了按compId拆分CSV文件的功能,现在需要给每个生成的CSV文件添加一行格式独立的首行,实现方式如下:

修改思路

在首次创建对应compId的输出文件时,先写入自定义首行,再依次写入原文件的表头和数据行即可。

修改后的完整代码

string chargeMonth = DateTime.Now.ToString("yyyyMM");
var fileCreationDate = DateTime.Now.ToString("yyyyMMdd");
string fileCreationTime = DateTime.Now.ToString("HHmmss");
string constVal = "MLL";
string fileType = "HIYUV-CHEVRA";
string[] values;
string header, sumRow;
string line, compId;
string inputFile = "records.CSV";
// 定义自定义首行内容,可根据实际需求修改
string customFirstLine = "aaaabbbbcccc";

Dictionary<string, System.IO.StreamWriter> outputFiles = new Dictionary<string, System.IO.StreamWriter>();

// 修正路径转义问题,使用逐字字符串
using (System.IO.StreamReader file = new System.IO.StreamReader(@"D:\" + inputFile, Encoding.Default))
{
    header = file.ReadLine();
    
    while ((line = file.ReadLine()) != null)
    {
        values = line.Split(",".ToCharArray());
        compId = values[3];
        
        if (!outputFiles.ContainsKey(compId))
        {
            sumRow = constVal + "-" + fileType + "-" + (String.Format("{0:00000}", Int32.Parse(compId))) + "-" + chargeMonth + "-" + fileCreationDate + "-" + fileCreationTime;
            string outputFileName = constVal + "-" + fileType + "-" + (String.Format("{0:00000}", Int32.Parse(compId))) + "-" + chargeMonth + "-" + fileCreationDate + "-" + fileCreationTime + ".CSV";
            var writer = new System.IO.StreamWriter(@"D:\" + outputFileName);
            outputFiles.Add(compId, writer);
            // 先写入自定义首行
            writer.WriteLine(customFirstLine);
            // 再写入原表头
            writer.WriteLine(header);
        }
        outputFiles[compId].WriteLine(line);
    }
}

foreach (System.IO.StreamWriter outputFile in outputFiles.Values)
{
    outputFile.Close();
}

关键修改点

  1. 新增customFirstLine变量,存储自定义首行的内容,可根据实际需求调整内容格式
  2. 在创建新的StreamWriter后,先调用writer.WriteLine(customFirstLine)写入自定义首行,再写入原表头和后续数据行
  3. 修正了原代码中路径的转义问题,使用@标记逐字字符串避免路径解析错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 04:35:26