2016-02-22 2 views
-2

У меня есть небольшой файл csv, в который должны быть добавлены заголовки colomn. Один столбец содержит текущую дату, но также «», которую для меня трудно найти для удаления с помощью C#. Например Файл содержитДобавить строку в первую строку в CSV-файле C#

"22022016",18,39,29,84 

Он должен быть:

A   B C D E 
22-02-2016 18 39 29 84 

Я попытался код ниже, но на ?? Я должен был заполнить значение, но это уже во второй строке. Еще одна проблема - заменить «», которые мне нужны специальные символы.

Заранее спасибо

DirectoryInfo d12 = new DirectoryInfo(@"C:\proef"); 
FileInfo[] infos12 = d12.GetFiles(); 
foreach (FileInfo f12 in infos12) 
{ 
// #1 Read CSV File 
string[] CSVDump = File.ReadAllLines(f12.FullName); 

// #2 Split Data 
List<List<string>> CSV = CSVDump.Select(x =>     
x.Split(',').ToList()).ToList(); 

//#3 Update Data 
for (int i = 0; i < CSV.Count; i++) 
{ 
CSV[i].Insert(0, i == 0 ? "<Date>" : "Needs a value but this in the secondrom"  
CSV[i].Insert(1, i == 0 ? "A" : ""); 
CSV[i].Insert(2, i == 0 ? "B" : ""); 
} 

//#4 Write CSV File 
File.WriteAllLines(f12.FullName, CSV.Select(x => string.Join(",", x))); 

ответ

1

Чтобы вставить строку в начало CSV, изменения:

//#3 Update Data 
for (int i = 0; i < CSV.Count; i++) 
{ 
CSV[i].Insert(0, i == 0 ? "<Date>" : "Needs a value but this in the secondrom"  
CSV[i].Insert(1, i == 0 ? "A" : ""); 
CSV[i].Insert(2, i == 0 ? "B" : ""); 
} 

To:

//#3 Update Data 
CSV.Insert(0, new List<string>{"<Date>", "A", "B"}); // 0 is index of first row 

Чтобы изменить строку:

int rowID = 1; // Index of row to modify 
if (rowID < CSV.Count) 
{ 
    CSV[rowID][0] = "new date"; 
    CSV[rowID][1] = "new A"; 
    CSV[rowID][2] = "new B" 
} 
Смежные вопросы