CSVからインポートしようとしているデータは次のとおりです
Time|Person|Products|Address
(now)|person1|val1*val2*val3|adr1
*
改行/キャリッジリターンはどこですか
インポートすると、次のようになります。
(now)|person1|val1val2val3|adr1
必要なものは次のとおりです。
(now)|person1|val1|adr1
(now)|person1|val2|adr1 etc.
私は試しました: 主に に基づいて CSV パーサーをカスタムコーディングするstring.Spilt()
と、正確な結果が得られ、処理に時間がかかりました。Sebastien Lorion のものを試してみましCSVReader
たが、まったく同じ結果が得られましたが、既存のコードに挿入するのは非常に高速で簡単でした。TextFieldParser
まったく同じ結果でVBを試しました。
さて、ここで私がやろうと思ったことは次のとおりです。
何らかの方法でフィールドの値を渡します (それらを参照する方法がわかりません)。List<string>
オブジェクトを返す別のメソッドに到達すると、反復して DataTable に追加し、そこから必要なことを実行できます。古いフォークで私の脳幹を取り除いてください。小声でつぶやきながら歩き回る。
TextFieldParser コードは次のとおりです。
OpenFileDialog op = new OpenFileDialog();
op.ShowDialog();
TextFieldParser parser = new TextFieldParser(new StreamReader(op.FileName));
parser.SetDelimiters(",");
while (!parser.EndOfData)
{
contents.AddRange(parser.ReadFields());
}