假设我有一个包含 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:
美国广播公司 21 3.18 5.45 22 4.22 5.23 65 4.98 7.98 65 4.65 4.63
但是仅将空分配给DecimalSymbol=
in schema.ini 是行不通的。我不想做任何计算来检索这些字段,甚至不喜欢迭代文件/数据表来为每个数字添加小数分隔符,除以 100 或类似的东西,因为 numbers.txt 实际上有太多的双列解析.
任何想法将不胜感激。