我有一个.dat
和“.txt”文件的集合。要求是将它们加载到 DataTable 中以进行进一步处理。
.NET 中是否有任何预定义的方法?
请参考链接protobuf-net-data 那里定义了一个简单的方法来从平面文件加载数据表。
DataTable dt = new DataTable();
using (Stream stream = File.OpenRead("C:\foo.dat"))
using (IDataReader reader = DataSerializer.Deserialize(stream))
{
dt.Load(reader);
}
注意:我没有测试过这个库,也不知道性能。
仅使用 BCL 就可以将 CSV 或分隔文本文件加载到 .NET 中的数据表中,但它不是那么灵活:
System.Data.Odbc.OdbcConnection conn;
DataTable dt=new DataTable();
System.Data.Odbc.OdbcDataAdapter da;
string folder=@"D\temp\";
string file="test.csv";
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(dt);
如果您查看以下专门处理 CSV/分隔文本文件的库,您可能会更幸运: