StreamWriter записывает все данные в 1 столбец в CSV-файле

#c# #csv #streamwriter

Вопрос:

 using (StreamWriter sw = File.CreateText("D:\Data.csv"))
{  
      foreach (var test in data)
      {
          sw.WriteLine(test.A.ToString() ',' test.B.ToString());
      }
}
 

тест.A и test.B перечислены в столбце A CSV-файла.Я хочу, чтобы они были в отдельных колонках.

Комментарии:

1. Привет. Что значит, что они находятся в одной колонке? Например, вы открываете файл в Excel, и он отображает данные в одной ячейке? Может быть, попробуйте добавить пробел после запятой?

2. вы можете выбрать разделитель, если откроете excel, перейдите к данным и выберите из текста/csv

3. Добавление пространства ничего не дает.

4. Разделите значения с помощью ‘;’

5. Этот вопрос не имеет ничего общего с c#, он связан с тем, как заставить Excel (или любое другое приложение для электронных таблиц, которое вы используете) удалять значения. Вы также могли бы создать файл .csv в папке, открыть его в текстовом редакторе, добавить содержимое в каком-либо формате (достаточно одной строки или 2), а затем открыть его в приложении. Как только вы выяснили, что работает по умолчанию в этом приложении, вы могли бы соответствующим образом отформатировать вывод в c#.

Ответ №1:

Попробуйте изменить свой разделитель на semicolon — он разделит ваши заголовки на разные столбцы, когда вы откроете файл CSV с помощью Excel.