Programming Course in C# ¡Free!

CSV converter

 Saturday, April 06, 2013 published by Exercises C#
Proposed exercise

The CSV ("Comma Separated Values") is a exchange format used by many spreadsheets and management systems databases. It is a series of comma-separated values enclosed in quotation marks, although there are variants that do not use quotes, or using semicolon as separator. Often the figures not enclosed in quotes. An example file would be:

  "John", "López Pérez," "Alicante", 25

"Antonio", "Pérez López", "Madrid", 27

It should create a program that reads a CSV file as above, with four data blocks (the first 3 are text and the last will be numeric), each of which is in a line, and generate a text file each entry contains a line like this:

John

Pérez López

Alicante

25

Anthony

Pérez López

Madrid

27

Output



Solution


using System;
using System.IO;

class ReaderCSV
{
static void Main()
{
Console.WriteLine("CSV READER");
Console.WriteLine("--------------------------------------");
Console.Write("Enter name of file .csv: ");

string nameFile = Console.ReadLine();
StreamReader myfile;
string cadena;
int position;

try
{
myfile = new StreamReader(nameFile, System.Text.Encoding.Default);
string line;
do
{
line = myfile.ReadLine();
if ((line != null) && (line != ""))
{
try
{
line = line.Replace("\"", "");

position = line.IndexOf(';');
cadena = line.Substring(0, position);
line = line.Remove(0, position + 1);
Console.WriteLine(cadena + "\n");

position = line.IndexOf(';');
cadena = line.Substring(0, position);
line = line.Remove(0, position + 1);
Console.WriteLine(cadena + "\n");

position = line.IndexOf(';');
cadena = line.Substring(0, position);
line = line.Remove(0, position + 1);
Console.WriteLine(cadena + "\n");

cadena = line.Substring(0);
Console.WriteLine(cadena + "\n"); 
}
catch (Exception)
{
Console.WriteLine("Error");
}
}
}
while (line != null);
}
catch (Exception)
{
Console.WriteLine("Error");
}
}
}