「|」で区切られた CSV ファイルがあります。フィールドを分離します。
以下のコードを使用してファイルを読み取り、リストに入れています
var reader = new StreamReader(File.OpenRead(openFileDialog1.FileName));
List<string> list1 = new List<string>();
List<string> list2 = new List<string>();
List<string> list3 = new List<string>();
List<string> list4 = new List<string>();
while (!reader.EndOfStream)
{
var line = reader.ReadLine();
var values = line.Split('|');
list1.Add(values[0]);
list2.Add(values[1]);
list3.Add(values[2]);
list4.Add(values[3]);
}
次に、それを DataSet に入れます
DataSet ds = new DataSet();
ds.Tables.Add("barcode");
for (int i = 1; i < list1.Count; i++)
{
ds.Tables[0].Rows.Add(list1[i], list2[i], list3[i], list4[i]);
}
データがこのようなものであれば問題ありません
373|A0000006-04|EACH|2600003347225
373|A0000006-04|EACH|9556076004684
373|A0000006-04|EACH|9556076006374
373|A0000006-04|PK12|2600003347232
373|A0000006-04|PK12|9556076004691
ただし、一部のデータは次のようになります。
373|A0000029-01|PK12|1899886
6604250
373|A0000029-01|PK12|2652357563394
373|A0000030-01|EACH|2600001
539189
373|A0000030-01|EACH|8998866604284
ご覧のとおり、一部のデータは 2 行を使用しています。2 つの異なる行ではなく、同じ行として読み取る方法はありますか? または、同じ行であることを識別するために、カンマやセミコロンなどの区切り記号を付ける必要がありますか?