zoukankan      html  css  js  c++  java
  • 将Txt文件转换成dataset[原创]

    今天工作中,遇到需要将txt文件转化到内存表dataset中,于是写了一个方法来实现:
    txt文件是特定格式的,文件中,一条记录为一行,各字段之间用“|”分割(注:最后一个字段后,有”|”)各字段依次为数据库中的相应字段。
        举例如下:
        ID号|线路编码|车站编码|运行模式|模式设置日期|模式设置时间|
          1|98|9821|06|20070913|211835|
          方法如下:

     1        /// <summary>
     2        /// 文件加载
     3         /// </summary>
     4        /// <param name="FilePath">带文件名的路径</param>
     5        /// <param name="TableName">自定义的表名</param>
     6        /// <param name="FieldsInArray">自定义的表字段</param>
     7        /// <returns>DataSet</returns>

     8        public static DataSet TextFileLoader(string FilePath, string TableName, string[] FieldsInArray)
     9        {
    10            DataSet ds = new DataSet();
    11            DataTable dt = new DataTable(TableName);
    12
    13            FileStream fs = File.Open(FilePath, FileMode.Open, FileAccess.Read);
    14            StreamReader sr = new StreamReader(fs);
    15
    16            for (int i = 0; i < FieldsInArray.Length; i++)
    17            {
    18                dt.Columns.Add(new DataColumn(FieldsInArray[i], typeof(string)));
    19            }

    20
    21            string strRead;
    22            bool flag = true;
    23
    24            while (flag)
    25            {
    26                strRead = sr.ReadLine();
    27
    28                if (!string.IsNullOrEmpty(strRead))
    29                {
    30                    string[] aryVale = strRead.Split('|');
    31
    32                    DataRow dr = dt.NewRow();
    33                    for (int k = 0; k < FieldsInArray.Length; k++)
    34                    {
    35                        dr[FieldsInArray[k]] = aryVale[k];
    36                    }

    37                    dt.Rows.Add(dr);
    38                }

    39                else
    40                {
    41                    flag = false;
    42                }

    43            }

    44
    45            ds.Tables.Add(dt);
    46            return ds;            
    47        }
  • 相关阅读:
    探测行星-搜寻外星行星
    NLM非局部均值算法相关
    LBP纹理特征
    IPOL图像处理分析经典在线(文献+源码)
    Halcon学习之四:有关图像生成的函数
    Halcon学习之三:有关图像通道的函数
    Halcon学习之二:摄像头获取图像和相关参数
    Halcon学习之边缘检测函数
    Halcon学习之一:查询图像参数
    Halcon学习之两幅图像处理
  • 原文地址:https://www.cnblogs.com/winnxm/p/927880.html
Copyright © 2011-2022 走看看