ユーザが選択した特定のデータを含む特定のcsvファイルをデータベースに読み込んでアップロードしようとしています。データに名前、年齢、身長が含まれているとします。問題は、名前にカンマ(、)が含まれている場合です。分割前にCSVファイルからカンマを確認して削除する
例:マーク・スミス20 170
システムは、これは別のフィールドで、分割することを考えるでしょうとして
。以下は私が使用しているコードですが、このコンマをフィルタリングして別の列に分割する前に削除する必要があります。
openFileDialog1.ShowDialog();
var fileName = string.Format(openFileDialog1.FileName);
StreamReader sr = new StreamReader(fileName);
string line = sr.ReadLine();
string[] value = line.Split(',');
DataTable dt = new DataTable();
DataRow row;
foreach (string dc in value)
{
dt.Columns.Add(new DataColumn(dc));
}
while (!sr.EndOfStream)
{
value = sr.ReadLine().Split(',');
Name cl = new Name();
try
{
cl.Name= value[0].Trim('"');
cl.Age= value[1].Trim('"');
cl.Height= value[2].Trim('"');
new Data().addPerson(cl);
}
に動作します。データ値が追加的に区切られている場合、例えば。二重引用符で囲まれている場合は、値の中のカンマをフィルタリングすることができます。 '' Mark、Smith ''、 '20'、 '170' ' –
私の古いコードには数時間はアクセスできませんが、"タグ "に名前の列をラップして、タグを入力してから文字列を置換すると、csv内の –
は "Mark、Fenech"、 "20"、 "170"のようになり、カラムにsplttingすると名前と姓の間のコンマは次のカラムとみなされます –