2016-07-25 3 views
-1

У меня есть вставки в код текстового файла, как:Запись CSV файл из C#

foreach (var kvauthor in _tauthorData) 
{ 
    foreach (var coAuthor in kvauthor.Value.CoAuthors) 
    { 
     twObjClus.WriteLine("AuthorID: {0}, AuthorName: {1}, ClusterID: {2}, PaperID: {3}, 
          CoAuthors: {4}, PaperCategory: {5}, Venue: {6}, Year: {4}", 
          eAuthor.AuthorID, eAuthor.AuthorName, curCluster.GetClusterID(), 
          kvauthor.Key, coAuthor, kvauthor.Value.PaperCategory, 
          kvauthor.Value.VenueID, kvauthor.Value.Year); 

    } 
} 

Я хочу, чтобы вставить все эти данные в файл CSV в то время как я пытался это как:

var csv = new StringBuilder(); 

foreach (var kvauthor in _tauthorData) 
{ 
    foreach (var coAuthor in kvauthor.Value.CoAuthors) 
    { 
     csv.AppendFormat("{0},{1},{2},{3},{4},{5},{6}",AuthorID: {0}, AuthorName: {1}, ClusterID: {2}, PaperID: {3}, 
          CoAuthors: {4}, PaperCategory: {5}, Venue: {6}, Year: {4}", 
          eAuthor.AuthorID, eAuthor.AuthorName, curCluster.GetClusterID(), 
          kvauthor.Key, coAuthor, kvauthor.Value.PaperCategory, 
          kvauthor.Value.VenueID, kvauthor.Value.Year); 

    } 
} 

Как вставить эти данные по строкам в файл csv с заголовками столбцов?

+0

Это не тот случай, мои данные должны быть записаны из переменных в коде – maliks

+0

Поскольку мне нужно иметь заголовки столбцов вверху и значения в формате csv – maliks

+1

Попробуйте сказать, что вы ** не можете сделать ** , [Добавить строку в файл] (http://stackoverflow.com/q/2837020/1997232)? Или, может быть, вы не знаете, что такое [csv-file] (https://en.wikipedia.org/wiki/Comm-separated_values)? Возможно, проблема заключается в [как вставлять заголовки столбцов] (http://stackoverflow.com/q/32357209/1997232)? – Sinatr

ответ

0

Добавление заголовков столбцов тривиален, просто сделать это один раз (при открытии файла или создания экземпляра, например StringBuilder, который будет использоваться для добавления строк позже).

var csv = new StringBuilder(); 

// add column headers first 
csv.AppendLine("AuthorID,AuthorName, ..."); // and so on 

// add data 
foreach (var kvauthor in _tauthorData) 
    foreach (var coAuthor in kvauthor.Value.CoAuthors) 
    { 
     csv.AppendLine($"{coAuthor.AuthorId},{coAuthor.Name}, ..."); // and so on 
     // if you don't have C# 6.0 
     // csv.AppendFormat("{0},{1}, ... {N}", coAuthor.AuthorId, coAuthor.Name, ..., Environmental.NewLine"); 
    } 

File.WriteAllText(path, scv.ToString()); 

Примечание: Вы можете использовать AppendLine добавить Environmental.NewLine автоматически, в противном случае (при использовании AppendFormat) добавить его в конце string вручную.

+0

Существует некоторая ошибка, т. Е. ')' Ожидаемая – maliks

+0

Я использовал ее как 'csv.AppendLine ($" {eAuthor. AuthorID}, {eAuthor.AuthorName}, {curCluster.GetClusterID()}, {kvauthor.Key}, {соавтор}, {kvauthor.Value.PaperCategory}, {kvauthor.Value.VenueID}, {kvauthor.Value.Year} ");' но получение ошибки, то есть ')' ожидается – maliks

+0

Кроме того, '' 'знак неожиданно – maliks

Смежные вопросы