我正在使用以下代码从 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;
}
}
确切的问题是,如果 csv 列包含数据,以粗体突出显示,如下面的第 1 行所示
Row1-> col1, "cdwdf" dsdfs ,col2,col3
使用上述代码获取数据时会跳过 col2 和 col3(突出显示的文本之后的列),并继续从下一行获取数据。
如果第 1 行中提到的列文本完全在引号内(“cdwdf dsdfs”),则数据被正确提取。
任何人请告诉我如何在这种情况下从 csv 获取数据......