如何在 csv 文件的开头添加一列来保存一个常量字符串值?

问题描述 投票:0回答:0

我正在尝试通过删除文本文件中的前 13 行来重新创建我的 csv 文件(服务已经成功地做到了这一点),在删除之前存储从 13 行中的那四行中提取的数据,并将提取的数据插入到四个新专栏。

我正在采取的步骤:

从文件的前 13 行中的 4 行中提取和存储数据,然后从 csv 文件的开头删除所有 13 行

代码有效!!!成功读取 + 更改文件并将新解析的文件存储在字符串中。

 

using (FileStream fs = new FileStream(filepathin, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
                {
    using (StreamReader reader = new StreamReader(fs))                      //Open the file from the "filepathin" to read each line.
                    {
                        string[] readText = File.ReadAllLines(filepathin);

                    filenamewrite += readText[0].Split('_').LastOrDefault() + ",";
                    Filenamedata.Add(filenamewrite);

                    machinenamewrite += readText[2].Split(':').LastOrDefault() + ",";
                    Machinenamedata.Add(machinenamewrite);

                    workernamewrite += readText[8].Split(':').LastOrDefault() + ",";
                    Workernamedata.Add(workernamewrite);

                    workercatwrite += readText[9].Split(':').LastOrDefault() + ",";
                    Workercategory.Add(workercatwrite);

                    foreach (string line in readText)
                    {
                        UpdatedFile.Add(line);
                    }

                    UpdatedFile.RemoveAt(0);
                    UpdatedFile.RemoveAt(0);
                    UpdatedFile.RemoveAt(0);
                    UpdatedFile.RemoveAt(0);
                    UpdatedFile.RemoveAt(0);
                    UpdatedFile.RemoveAt(0);
                    UpdatedFile.RemoveAt(0);
                    UpdatedFile.RemoveAt(0);
                    UpdatedFile.RemoveAt(0);
                    UpdatedFile.RemoveAt(0);
                    UpdatedFile.RemoveAt(0);
                    UpdatedFile.RemoveAt(0);
                    UpdatedFile.RemoveAt(0);

`

问题-创建+将提取的行数据存储到新列中。

我尝试了什么:

List<string> ParsedData = new List<string>() { "D" };
                    int listNumRows = UpdatedFile.Count;                                //counts number of files in file list to determin number of rows in file.
                    UpdatedFile[0] += Filenamedata;

                    for (int h = 0; h < listNumRows; h++)                               // Adds second incrementing index counter column to left of index in .csv
                    {
                        int newColumnDataIndex = h - 1;
                        if (newColumnDataIndex > ParsedData.Count)
                        {
                            throw new InvalidOperationException("Not enough data in newColumnData");
                        }

                        UpdatedFile[h] += "," + ParsedData[newColumnDataIndex];
                    }

没用:(

理论上,它不能添加新列,因为文件被转换读取/存储到列表中???

c# csv file for-loop filereader
© www.soinside.com 2019 - 2024. All rights reserved.