次のコードを使用して、csv ファイルからデータを取得しています。
public DataTable GetCSVData(string CSVFileName)
{
string CSVConnectionString = "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=" + ConfigurationSettings.AppSettings["CSVFolder"].ToString() + ";Extensions=asc,csv,tab,txt;Persist Security Info=False;";
using (OdbcConnection Connection = new OdbcConnection(CSVConnectionString))
{
DataTable CSVDataTable = new DataTable();
string SelectQuery = string.Format(@"SELECT * FROM [{0}]", CSVFileName);
OdbcDataAdapter Adapter = new OdbcDataAdapter(SelectQuery, Connection);
Adapter.Fill(CSVDataTable);
return CSVDataTable;
}
}
正確な問題は、下の行 1 に示すように、csv 列に太字で強調表示されているデータが含まれている場合です。
Row1-> col1、「cdwdf」dsdfs、col2、col3
上記のコードを使用してデータをフェッチしている間、col2 と col3 (強調表示されたテキストの後の列) はスキップされ、次の行からデータをフェッチし続けます。
行 1 の前述の列テキストが完全に引用符で囲まれている場合 ( "cdwdf dsdfs" )、データは正しくフェッチされます。
このような状況でcsvからデータを取得する方法を誰か教えてください...