在处理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;
}
分享到:
相关推荐
5. **DataTable转换**:DataTable是.NET框架中的一个类,用于存储和操作表格数据。CSV操作库通常会提供方法,方便地将DataTable对象与CSV文件进行互转,这在数据库操作和数据处理中非常实用。 以`CsvHelper-2.16.3`...
在IT行业中,处理数据是日常任务之一,而Excel和CSV文件由于其易读性和灵活性,经常被用作数据存储和交换的格式。本教程将详细讲解如何使用C#编程语言来合并具有相同头结构的Excel(.xls)和CSV文件。 首先,我们...
这里,`csv.reader()`函数创建了一个迭代器,可以逐行读取CSV文件。此外,还有`csv.DictReader()`,它将每一行解析为字典,方便按列名访问数据。 2. Java Java中,Apache Commons CSV库是一个高效且灵活的选择: ``...
CSV文件是一种文本文件,其中的数据以逗号分隔,每一行代表一个记录,每一列代表一个字段。例如: ``` 姓名,年龄,城市 张三,25,北京 李四,30,上海 王五,28,广州 ``` 在C#中,我们通常使用`StreamReader`或`...
在这个2019年3月的实例源码中,可能包含了一个或多个具体的实现方式,如使用`DataTable`存储数据,或者使用`yield return`创建一个迭代器,方便遍历所有行。也可能涉及错误处理,如检查文件是否存在、处理读取异常等...
//C#将csv文件转换为DataTable //C#将txt文件转换为DataTable(列与列之间空格隔开) 都转换成了DataTable,随便怎么玩了。 效果地址:https://blog.csdn.net/u012725119/article/details/81049607
最后,关于压缩包子文件的文件名称"ExportPDF_ch",这可能是一个示例或者已导出的PDF文件,其中“ch”可能代表“Chinese”,意味着这个PDF文件包含了中文内容。用户可以通过这样的文件来验证导出功能是否正常工作,...
这里我们关注一个自定义类`CsvStreamReader`的实现,这个类允许我们根据文件名和编码读取CSV文件并将其转换为`DataTable`。 ```csharp public class CsvStreamReader { // 构造函数和属性 public CsvStreamReader...
在代码中,每列更新都会对应一个参数,确保值安全地传递到SQL命令中。 9. **性能考虑**:在处理大量数据时,通常需要考虑分批处理和事务管理来优化性能。此方法通过循环处理行并控制每次处理的数量,以及使用事务...
在本项目中,我们主要关注的是一个基于C#语言开发的小型超市管理系统。...对于初学者来说,这是一个极好的学习资源,不仅可以了解C#的基础知识,还能学习到如何将这些知识应用于实际的软件开发中。
例如,若有一个名为"data.csv"的CSV文件,可以使用以下代码导入: ```matlab fid = fopen('data.csv'); C = textscan(fid, '%f%f%f', 'HeaderLines', 1); % 假设第一行为标题行 fclose(fid); data = cell2mat(C); `...
这通常意味着文件应为MATLAB可读的ASCII格式,如CSV。 7. **异常处理**:在处理数据时,程序可能会遇到各种问题,如文件不存在、数据格式错误等,因此良好的异常处理机制是必要的,以确保程序的健壮性。 8. **性能...
你可以使用Epplus从现有的Excel或CSV文件中导入数据,甚至通过FileUpload控件实现。同时,Epplus能直接将Excel文件转换为DataTable,方便进一步处理。 ### 第9章:合并单元格 在需要合并单元格以创建标题或美化...
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)设计模式,分离...
1. **解析表格数据**:这通常涉及到读取表格数据源,可能是从数据库查询结果、CSV文件或者内存中的数据结构。例如,你可以使用`System.Data.DataTable`类来存储表格数据。 2. **构建HTML结构**:HTML表格由`<table>...
注释中的`SqlCommand`创建了一个SQL命令对象,用于执行插入操作,但在这个示例中,我们并没有执行数据库操作,而是将数据行添加到了`DataTable`对象`dt`的`Rows`集合中。 最后,关闭文件流和`StreamReader`以释放...
数据导出是将存储在数据库、API或其他数据源中的信息转换为可读格式,如CSV、TSV或XLSX(Excel文件)。这一过程通常涉及数据的筛选、清洗和格式化,以便用户能够轻松理解和操作。 2. **使用编程语言导出Excel**: ...
支持别名表,用于给数据内容使用一个易读的名字 支持验证器,可以在数据里直接填充proto串联名称或枚举名,或者验证填充入数据的是否有效 支持通过protobuf协议插件控制部分输出 支持自动合表,把多个Excel数据表...