C# を使用して CSV ファイルを作成しています。これには 200 個のヘッダーが含まれています。150 個のヘッダーを含む別の CSV ファイルからデータを取得しています。私の問題は、ヘッダーに従ってデータを配置する方法です。たとえば、私は以下に例を挙げています。
C# で作成される CSV ファイル:
Name, Surname, Locality, DateOfbirth, Age
Joe, Smith, 60
Sam, Brown, 20
データを取得する CSV
Name, Surname, Age
Joe, Smith, 60
Sam, Brown, 20
これはサンプルコードです (実際のファイルには 150 個のヘッダーが含まれ、新しい CSV ファイルには 200 個のヘッダーが含まれています)
string[] lines = System.IO.File.ReadAllLines(fileUrl);
using (System.IO.StreamWriter file = new System.IO.StreamWriter(fileUrl))
{
foreach (string line in lines)
{
if (line == lines[0])
{
//Changing the header of the first file
file.WriteLine("Name, Surname, Locality, DateOfBirth, Age");
}
else
{
string[] values = line.Split(',');
file.WriteLine(string.Format("{0},{1},{2},{3},{4}",
values[0], values[1], values[2], values[3], values[4]));
} //exception being thrown here since the array is out of range
}
}