zoukankan      html  css  js  c++  java
  • C#:StreamReader读取.CSV文件(转换成DataTable)

            using System.Data;
            using System.IO;
     
            /// <summary>
            /// Stream读取.csv文件
            /// </summary>
            /// <param name="filePath">文件路径</param>
            /// <returns></returns>
            public static DataTable OpenCSV(string filePath)
            {
                DataTable dt = new DataTable();
                FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
                StreamReader sr = new StreamReader(fs, System.Text.Encoding.Default);
                //记录每次读取的一行记录
                string strLine = "";
                //记录每行记录中的各字段内容
                string[] aryLine;
                //标示列数
                int columnCount = 0;
                //标示是否是读取的第一行
                bool IsFirst = true;
                //逐行读取CSV中的数据
                while ((strLine=sr.ReadLine())!=null)
                {
                    aryLine = strLine.Split(',');
                    if (IsFirst==true)
                    {
                        IsFirst = false;
                        columnCount = aryLine.Length;
                        for (int i = 0; i < columnCount; i++)
                        {
                            DataColumn dc = new DataColumn(aryLine[i]);
                            dt.Columns.Add(dc);
                        }
                    }
                    else
                    {
                        DataRow dr = dt.NewRow();
                        for (int j = 0; j < columnCount; j++)
                        {
                            dr[j] = aryLine[j];
                        }
                        dt.Rows.Add(dr);
                    }
                }
                sr.Close();
                fs.Close();
                return dt;
            }             

    这种读取.csv文件的方法比较快速方便,但是对于几种格式的.csv文件还未支持,例如日文,繁体,中文格式的都需要不同的转换。

    想看原文可以点击https://www.cnblogs.com/jameslif/p/6117193.html进入查看。

  • 相关阅读:
    C++ unordered_set运用实例
    C++ Multimap运用实例—查找元素
    C++ Multimap运用实例
    C++ Map运用实例
    C++ Set运用实例
    C++ list运用实例
    C++ vector使用实例
    c++ Array运用实例
    C++ int double float对应的长度以及二进制
    引用和指针有什么区别
  • 原文地址:https://www.cnblogs.com/W--Jing/p/8031554.html
Copyright © 2011-2022 走看看