读取文本文件,跳过一些行,然后将空格分隔的值导入SQL Server表

时间:2015-02-06 23:19:26

标签: c# sql-server streamreader

我有一个包含4百万行的文本文件。文本文件的结构是:

'DIMENS  '           3 'INTE'
       1000       1000          1
 'MAPUNITS'           1 'CHAR'
 'METRES  ' 
 'GRIDUNIT'           2 'CHAR'
 'METRES  ' 
 'COORDS  '           5 'INTE'
   1 1 1 1 1
 'CORNERS '          24 'REAL'
2665000.000000 -1255000.000000 -468.920181 2665005.000000 -1255000.000000 -469.812128 
2665000.000000 -1255005.000000 -469.004196 2665005.000000 -1255005.000000 -469.896143 
2665000.000000 -1255000.000000 -470.550003 2665005.000000 -1255000.000000 -471.190002 
2665000.000000 -1255005.000000 -470.560001 2665005.000000 -1255005.000000 -471.200000 
 'COORDS  '           5 'INTE'
   2 1 1 2 1
 'CORNERS '          24 'REAL'
2665005.000000 -1255000.000000 -469.812128 2665010.000000 -1255000.000000 -470.704074 
2665005.000000 -1255005.000000 -469.896143 2665010.000000 -1255005.000000 -470.788089 
2665005.000000 -1255000.000000 -471.190002 2665010.000000 -1255000.000000 -471.830002 
2665005.000000 -1255005.000000 -471.200000 2665010.000000 -1255005.000000 -471.839999 
 'COORDS  '           5 'INTE'
   3 1 1 3 1
 'CORNERS '          24 'REAL'
2665010.000000 -1255000.000000 -470.704074 2665015.000000 -1255000.000000 -471.596020 
2665010.000000 -1255005.000000 -470.788089 2665015.000000 -1255005.000000 -471.680035 
2665010.000000 -1255000.000000 -471.830002 2665015.000000 -1255000.000000 -472.470001 
2665010.000000 -1255005.000000 -471.839999 2665015.000000 -1255005.000000 -472.479999 
 'COORDS  '           5 'INTE'

我想做的是: 1:阅读文本文件。 streamreader是正确的方法吗? 2:必须跳过前9行 3:行10-13中的空格分隔值我想存储在SQL Server表中=> 24列,每列中的值 4:然后必须跳过另外3行 5:步骤3和4循环直到EOF。但最后一行也必须跳过。

我在C#中表现不佳。我可以创建一个streamreader并使用skipline方法跳过前9行但我不能解决剩下的问题。 有没有人解决过类似我可以用作入口点的东西?

祝你好运 斯特凡

0 个答案:

没有答案