`
famoushz
  • 浏览: 2988914 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

把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;
        }
分享到:
评论

相关推荐

    CSV操作库,支持CSV文件的读写及格式化。支持实体类,DataTable到CSV文件的自动映射

    5. **DataTable转换**:DataTable是.NET框架中的一个类,用于存储和操作表格数据。CSV操作库通常会提供方法,方便地将DataTable对象与CSV文件进行互转,这在数据库操作和数据处理中非常实用。 以`CsvHelper-2.16.3`...

    使用C#合并头结构一致的excel、csv文件

    在IT行业中,处理数据是日常任务之一,而Excel和CSV文件由于其易读性和灵活性,经常被用作数据存储和交换的格式。本教程将详细讲解如何使用C#编程语言来合并具有相同头结构的Excel(.xls)和CSV文件。 首先,我们...

    读取Csv文件工具

    这里,`csv.reader()`函数创建了一个迭代器,可以逐行读取CSV文件。此外,还有`csv.DictReader()`,它将每一行解析为字典,方便按列名访问数据。 2. Java Java中,Apache Commons CSV库是一个高效且灵活的选择: ``...

    C# Winform操作CSV

    CSV文件是一种文本文件,其中的数据以逗号分隔,每一行代表一个记录,每一列代表一个字段。例如: ``` 姓名,年龄,城市 张三,25,北京 李四,30,上海 王五,28,广州 ``` 在C#中,我们通常使用`StreamReader`或`...

    使用C#读取csv文件的实例源码201903

    在这个2019年3月的实例源码中,可能包含了一个或多个具体的实现方式,如使用`DataTable`存储数据,或者使用`yield return`创建一个迭代器,方便遍历所有行。也可能涉及错误处理,如检查文件是否存在、处理读取异常等...

    读取Excel文件xls、xlsx、csv格式文件,读取txt文件

    //C#将csv文件转换为DataTable //C#将txt文件转换为DataTable(列与列之间空格隔开) 都转换成了DataTable,随便怎么玩了。 效果地址:https://blog.csdn.net/u012725119/article/details/81049607

    bootstrap table导出表格支持中文csv、pdf、txt等

    最后,关于压缩包子文件的文件名称"ExportPDF_ch",这可能是一个示例或者已导出的PDF文件,其中“ch”可能代表“Chinese”,意味着这个PDF文件包含了中文内容。用户可以通过这样的文件来验证导出功能是否正常工作,...

    C#读取csv格式文件的方法

    这里我们关注一个自定义类`CsvStreamReader`的实现,这个类允许我们根据文件名和编码读取CSV文件并将其转换为`DataTable`。 ```csharp public class CsvStreamReader { // 构造函数和属性 public CsvStreamReader...

    【ASP.NET编程知识】SqlCommandBuilder类批量更新excel或者CSV数据的方法.docx

    在代码中,每列更新都会对应一个参数,确保值安全地传递到SQL命令中。 9. **性能考虑**:在处理大量数据时,通常需要考虑分批处理和事务管理来优化性能。此方法通过循环处理行并控制每次处理的数量,以及使用事务...

    超市代码c#代码,简单容易读,功能齐全

    在本项目中,我们主要关注的是一个基于C#语言开发的小型超市管理系统。...对于初学者来说,这是一个极好的学习资源,不仅可以了解C#的基础知识,还能学习到如何将这些知识应用于实际的软件开发中。

    matlab数理统计数据分析:18 matlab导入数据(含教学视频).zip

    例如,若有一个名为"data.csv"的CSV文件,可以使用以下代码导入: ```matlab fid = fopen('data.csv'); C = textscan(fid, '%f%f%f', 'HeaderLines', 1); % 假设第一行为标题行 fclose(fid); data = cell2mat(C); `...

    C#提取autompg数据集数据的程序

    这通常意味着文件应为MATLAB可读的ASCII格式,如CSV。 7. **异常处理**:在处理数据时,程序可能会遇到各种问题,如文件不存在、数据格式错误等,因此良好的异常处理机制是必要的,以确保程序的健壮性。 8. **性能...

    Epplus的文档.....

    你可以使用Epplus从现有的Excel或CSV文件中导入数据,甚至通过FileUpload控件实现。同时,Epplus能直接将Excel文件转换为DataTable,方便进一步处理。 ### 第9章:合并单元格 在需要合并单元格以创建标题或美化...

    C# GoogleMap纠偏

    C#中的类库如`System.IO`可以用来读取文件,`System.Text.RegularExpressions`或`System.Data.DataTable`可以用于解析包含经纬度的文本或CSV文件。 2. **坐标转换**:原始GPS坐标通常是WGS84坐标系,而Google Maps...

    学生信息管理系统

    例如,CSV文件格式因其简单易读,常用于数据交换,C#提供了丰富的文件读写API,可以方便地实现这一功能。 在系统设计层面,我们可以采用MVC(Model-View-Controller)或MVVM(Model-View-ViewModel)设计模式,分离...

    table转换为Html格式Table

    1. **解析表格数据**:这通常涉及到读取表格数据源,可能是从数据库查询结果、CSV文件或者内存中的数据结构。例如,你可以使用`System.Data.DataTable`类来存储表格数据。 2. **构建HTML结构**:HTML表格由`&lt;table&gt;...

    C#逐行分元素读取记事本数据并写入数据库的方法

    注释中的`SqlCommand`创建了一个SQL命令对象,用于执行插入操作,但在这个示例中,我们并没有执行数据库操作,而是将数据行添加到了`DataTable`对象`dt`的`Rows`集合中。 最后,关闭文件流和`StreamReader`以释放...

    ExportExcel.zip

    数据导出是将存储在数据库、API或其他数据源中的信息转换为可读格式,如CSV、TSV或XLSX(Excel文件)。这一过程通常涉及数据的筛选、清洗和格式化,以便用户能够轻松理解和操作。 2. **使用编程语言导出Excel**: ...

    xresloader:跨平台Excel导表工具(Excel => protobufmsgpackluajavascriptjsonxml)

    支持别名表,用于给数据内容使用一个易读的名字 支持验证器,可以在数据里直接填充proto串联名称或枚举名,或者验证填充入数据的是否有效 支持通过protobuf协议插件控制部分输出 支持自动合表,把多个Excel数据表...

Global site tag (gtag.js) - Google Analytics