1

假设我有一个包含 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 实际上有太多的双列解析.

任何想法将不胜感激。

4

0 回答 0