zoukankan      html  css  js  c++  java
  • 把CSV文件读到一个DataTable中

    在处理CSV文件的时候发现,不能简单的用逗号来拆分内容,如果在双引号里面有逗号,那么这行将解析错误。最后找到个用正则表达式来splite的简单方面。原理就是用","来作为拆分的标记。

             /// <summary>
            
    /// 把一个CSV文件读到一个DataTable中
            
    /// </summary>
            
    /// <param name="strpath">文件完整路径</param>
            
    /// <returns>DataTable</returns>
            public static DataTable GetTable(string strpath)
            {
                Regex reg 
    = new Regex("\",\"");
                
    int intColCount = 0;
                DataTable mydt 
    = new DataTable("myTableName");

                
    //DataColumn mydc;
                
    //DataRow mydr;

                
    //string strpath = "";
                string strline;
                
    string[] aryline;

                StreamReader mysr 
    = new StreamReader(strpath,System.Text.Encoding.Default);
                strline 
    = mysr.ReadLine();

                aryline 
    = reg.Split(strline);

                intColCount 
    = aryline.Length;
                
    for (int i = 0; i < aryline.Length; i++)
                {
                    DataColumn mydc 
    = new DataColumn(aryline[i].Replace("\""""), typeof(string));
                    mydt.Columns.Add(mydc);
                }
                
                
    while ((strline = mysr.ReadLine()) != null)
                {
                    aryline 
    = reg.Split(strline);
                    
                    DataRow mydr 
    = mydt.NewRow();
                    
    for (int i = 0; i < intColCount; i++)
                    {
                        mydr[i] 
    = aryline[i].Replace("\"","");
                    }
                    mydt.Rows.Add(mydr);
                }
                
    return mydt;
            }
  • 相关阅读:
    3.7号一周学习
    3.6号
    人月神话01
    课堂测试之全国疫情统计可视化地图第一阶段完成
    课堂测试之全国疫情统计可视化地图
    2.25号课堂作业
    2.29一周学习
    软件工程第二周开课博客
    2.25号课堂测试
    Mysql+Mycat实现数据库主从同步与读写分离
  • 原文地址:https://www.cnblogs.com/format/p/460075.html
Copyright © 2011-2022 走看看