【发布时间】:2011-06-29 10:18:09
【问题描述】:
我的项目中有一个问题,我试图读取 csv 文件中的数据,我想将此数据转换为数据表。
我该怎么做?
我的代码:
System.Data.Odbc.OdbcConnection conn;
DataTable insDataTable = new DataTable();
System.Data.Odbc.OdbcDataAdapter da;
string folder = files.FullName;
string file = System.IO.Path.GetFileName(fUpload.PostedFile.FileName);
conn = new System.Data.Odbc.OdbcConnection(@"Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=" + folder + ";Extensions=asc,csv,tab,txt;Persist Security Info=False");
da = new System.Data.Odbc.OdbcDataAdapter("select * from [" + file + "]", conn);
da.Fill(insDataTable);
它给出如下错误:
错误 [42S02] [Microsoft][ODBC 文本 驱动程序] Microsoft Jet 数据库 引擎找不到对象 'test.csv'。确定对象 存在并且你拼写它的名字和 路径名正确。
我正在检查有一个文件'test.csv'并且文件路径是正确的:(
【问题讨论】:
-
已经在这里提问和回答了:stackoverflow.com/questions/1050112/… 问题可能不同,但如何将 csv 读入数据表的答案保持不变。
-
这不是骗子,因为错误消息中的问题更多是关于基于 asp.net 上传创建 odbc 连接字符串而不是仅从 csv 创建数据表.