将第一行添加到csv

aiqt4smr  于 2022-12-15  发布在  其他
关注(0)|答案(1)|浏览(205)

具有以下功能:

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";

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";
            outputFiles.Add(compId, new System.IO.StreamWriter("D:\\" + outputFileName));
            outputFiles[compId].WriteLine(header);

        }
        outputFiles[compId].WriteLine(line);
    }
}

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

这将创建基于字典的键/值的CSV。无论如何,对于每个CSV,我想在第一行中添加一行,这是不是在其他行的格式。

line1 aaaabbbbcccc
line2 1 2 3 10 100
line3 2 2 3 10 100

我不知道如何做到这一点,因为我“拉”的数据从字典和行没有任何关系。感谢任何形式的帮助。

jv2fixgn

jv2fixgn1#

outputFiles[compId].WriteLine(constVal + "-" + fileType + "-" + (String.Format("{0:00000}", Int32.Parse(compId))) + "-" + chargeMonth + "-" + fileCreationDate + "-" + fileCreationTime + ".CSV");

添加了下面一行,现在可以工作了。谢谢。

相关问题