我正在尝试通过删除文本文件中的前 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];
}
没用:(
理论上,它不能添加新列,因为文件被转换读取/存储到列表中???