using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Data;
using System.Text.RegularExpressions;
public class CSVUtil
{
public CSVUtil()
{
}
//write a new file, existed file will be overwritten
public static void WriteCSV(string filePathName,List<String[]>ls)
{
WriteCSV(filePathName,false,ls);
}
//write a file, existed file will be overwritten if append = false
public static void WriteCSV(string filePathName,bool append, List<String[]> ls)
{
StreamWriter fileWriter=new StreamWriter(filePathName,append,Encoding.Default);
foreach(String[] strArr in ls)
{
fileWriter.WriteLine(String.Join(",",strArr));
}
fileWriter.Flush();
fileWriter.Close();
}
public static List<String[]> ReadCSV(string filePathName)
{
try
{
List<String[]> ls = new List<String[]>();
StreamReader fileReader = new StreamReader(filePathName);
if (fileReader == null)
{
throw new Exception("The file is not exit!");
}
string strLine = "";
string str = ",(?=\")|(?<=\"),";
Regex r = new Regex(str);
//string[] strSplit = {",\"","\","};
strLine = fileReader.ReadLine(); //first line:header, do not need
if (strLine == null)
{
throw new Exception("The file is null!");
}
while (strLine != null)
{
if (strLine.Contains("\""))
{
if (strLine != null && strLine.Length > 0)
{
if (r.IsMatch(strLine))
{
string[] temp = { };
temp = r.Split(strLine);
List<string> list = new List<string>();
//temp = strLine.Split(strSplit, StringSplitOptions.None);
for (int i = 0; i < temp.Length; i++)
{
if (temp[i].StartsWith("\"") && temp[i].EndsWith("\""))
{
temp[i] = temp[i].Substring(1, temp[i].Length - 2);
list.Add(temp[i]);
}
else
{
string[] ttemp = temp[i].Split(',');
for (int j = 0; j < ttemp.Length; j++)
list.Add(ttemp[j]);
}
}
ls.Add(list.ToArray());
}
else
ls.Add(strLine.Split(','));
}
}
else
{
if (strLine != null && strLine.Length > 0)
{
ls.Add(strLine.Split(','));
}
}
strLine = fileReader.ReadLine();
}
fileReader.Close();
return ls;
}
catch(Exception ex)
{
return null;
}
}
}
分享到:
相关推荐
C#读取CSV和EXCLE文件的代码实现 C#读取CSV和EXCLE文件是非常常见的一种数据读取操作。在实际开发中,我们经常需要读取CSV和EXCLE文件,以便将数据导入到程序中进行处理。下面,我们将详细介绍如何使用C#语言读取...
本文实例讲述了C#读取csv格式文件的方法。分享给大家供大家参考。具体实现方法如下: 一、CSV文件规则 1 开头是不留空,以行为单位。 2 可含或不含列名,含列名则居文件第一行。 3 一行数据不跨行,无空行。 4 以...
C#读取CSV EXCEL文件的知识点解析 C#读取CSV EXCEL文件是指使用C#语言读取CSV(Comma Separated Values,逗号分隔值)文件和EXCEL文件的方法。CSV文件是一种通用的文本文件格式,用于存储表格数据,而EXCEL文件是一...
在这个"使用C#读取csv文件的实例源码201902"的案例中,我们将深入探讨如何利用C#来处理CSV文件。 首先,我们需要了解CSV文件的基本结构。CSV文件以纯文本形式存储数据,每行代表一个记录,记录之间的字段由逗号分隔...
在本示例中,我们将探讨如何在C#环境中操作CSV文件,包括读取CSV、写入CSV以及处理包含逗号的特殊内容。 首先,要读取CSV文件,可以使用`StreamReader`类来逐行读取文件内容。每读取一行,就通过字符串的`Split`...
C#读取csv文件,可以设置表头起始行跟正文起始行(为了某些特殊需求)。 读取csv生成一个datatable类返回。 缺点(“单元格”不支持换行)。
1. **读取CSV文件**:在C#中,可以使用`System.IO`命名空间中的`TextFieldParser`类来读取CSV文件。首先,创建一个`TextFieldParser`实例,然后设置分隔符(默认为逗号)和编码(如UTF-8)。接着,通过`ReadFields`...
本实例将深入探讨如何使用C#来读取CSV文件。 首先,你需要引入System.IO命名空间,它提供了对文件系统的基本操作,包括读取文件。在你的C#源代码文件顶部,添加以下引用: ```csharp using System; using System....
本资源“使用C#读取csv文件的实例源码.rar”提供了一个实际的代码示例,帮助开发者理解如何在C#项目中读取CSV(逗号分隔值)文件。CSV文件是一种常见的数据存储格式,它以纯文本形式存储表格数据,便于在不同程序...
本篇文章将深入探讨如何使用C#来读取CSV文件,并通过实例源码来提供具体的实现方法。 首先,理解CSV文件的基本结构至关重要。CSV文件由行和列组成,列之间用逗号分隔。每一行代表一条记录,每一列则对应记录的一个...
本实例将详细介绍如何使用C#来读取CSV文件。 首先,我们需要了解CSV文件的基本结构。CSV文件是以逗号分隔的数据行,每一行代表一个记录,每个记录由一个或多个字段组成,字段之间用逗号分隔。例如: ``` 姓名,年龄...
本实例源码“使用C#读取csv文件的实例源码2019”着重展示了如何利用C#处理CSV(逗号分隔值)文件,这是一种常见的数据存储格式,通常用于数据交换。CSV文件因其简单性和通用性而在各种领域中得到广泛应用,例如数据...
1. **读取CSV文件**: - 首先,我们需要创建一个`StreamReader`对象来打开和读取文件。 - 然后,使用`TextFieldParser`类(在`Microsoft.VisualBasic.FileIO`命名空间中)来解析CSV文件。这个类可以很好地处理逗号...
本文将详细介绍如何使用C#来读取CSV文件,并提供一个实例源码进行解析。 首先,理解CSV文件的基本结构至关重要。CSV文件由行组成,每行包含一个或多个数据项,数据项之间用逗号分隔。有时,如果数据项本身包含逗号...
总结来说,C#中的文件流读取CSV文件主要涉及`FileStream`、`StreamReader`和`TextReader`的使用。对于更复杂的Excel操作,可以借助第三方库,如EPPlus或NPOI。在处理Excel数据时,了解如何正确解析和操作CSV格式的...
在C#编程环境中,读取CSV文件是常见的任务,尤其在处理大量数据时。本实例源码提供了在2019年3月开发的一个具体实现,旨在帮助开发者理解和掌握如何使用C#进行CSV文件的读取操作。 首先,我们需要了解C#中读取文件...
本实例源码是关于如何使用C#编程语言来读取CSV文件,这对于数据处理、数据分析或数据导入导出等场景尤其重要。 在C#中,我们可以使用内置的`System.IO`命名空间中的类来处理文件操作,特别是`StreamReader`和`...
C#是Microsoft开发的一种面向对象的编程语言,非常适合进行各种数据操作,包括读取CSV文件。本实例将深入探讨如何使用C#来读取CSV文件,并提供相关源码分析。 首先,让我们了解CSV文件的基本结构。CSV文件由一行行...