假设我有一个固定长度的文本文件,包含3列,其中两列是双精度的2位小数,但它们没有分隔符(如点或逗号):
21318545
22422523
65498798
65465463
使用OleDbDataAdapter我必须创建一个schema.ini文件,我这样做:
[numbers.txt]
ColNameHeader=False
Format=FixedLength
NumberDigits=2
DecimalSymbol=
Col1="A" Short Width 2
Col2="B" Double Width 3
Col3="C" Double Width 3
然后检索数据表:
var dataAdapter = new OleDbDataAdapter("SELECT A, B, C FROM [numbers.txt]", "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=numbers.txt;Extended Properties="text;HDR=NO;");
var dataTable = new DataTable();
dataAdapter.Fill(dataTable);
我想获得一个具有以下值的DataTable:
A B C 21 3.18 5.45 22 4.22 5.23 65 4.98 7.98 65 4.65 4.63
但只是将空分配给schema.ini中的DecimalSymbol=
不起作用。我不想做任何计算来检索这些字段,甚至不想迭代文件/数据表来为每个数字添加小数分隔符,除以100或类似的东西,因为numbers.txt实际上有太多的双列要解析
任何想法都会受到赞赏。