C#读取CSV文件的方法

在C#中读取CSV文件可以通过使用System.IO或System.IO.File、System.IO.Data等库的函数来实现。以下是一个示例代码:

using System.IO;

using System.IO.Data;

public class Program

{

public static void Main()

{

// 读取CSV文件

var reader = new TextReader("data.csv");

var lines = reader.ReadToEnd();

// 将读取到的字符串拆分成列表

string\[\] data = lines.Split(new\[\] { "\n" }, StringSplitOptions.RemoveEmptyEntries);

// 将数据转换为所需的类型(例如double)

double\[\] numbers = data.Select(d => double.Parse(d)).ToArray();

// 输出结果

Console.WriteLine("数据:");

foreach (var num in numbers)

{

Console.WriteLine(num);

}

}

}

注意事项:

CSV文件格式:确保CSV文件是正确的格式,通常包含数字和逗号分隔,没有额外的空格或换行符。

数据类型:如果需要将数据类型转换为整数或者浮点数,可以使用double.Parse等方法。

换行符处理:使用String.Split时,指定换行符"\n"来处理换行符。

处理空行:确保CSV文件中没有空行,如果有的话,可以忽略这些行。

示例:

如果CSV文件内容如下:

姓名,age,gender

john,25,"male"

jane,30,"female"

读取后可以得到:

"john", "25", "male", "jane", "30", "female"

另一种方法:

如果你使用System.IO.File和System.IO.FileTextReader,可以使用以下方式读取CSV文件:

using System.IO;

using System.IO.File;

public class Program

{

public static void Main()

{

// 读取CSV文件

var reader = new FileTextReader("data.csv");

var file = new File(reader path);

if (file != null)

{

var data = file.ReadAll();

// 将数据拆分成列表

string\[\] lines = data.Split(new\[\] { "\n" }, StringSplitOptions.RemoveEmptyEntries);

// 将数据转换为所需的类型(例如double)

double\[\] numbers = lines.Select(d => double.Parse(d)).ToArray();

// 输出结果

foreach (var num in numbers)

{

Console.WriteLine(num);

}

}

}

}

总结:

使用TextReader读取CSV文件。

将读取到的字符串拆分成列表。

将列表转换为所需的数值类型(例如double)。

输出结果。 确保CSV文件的格式正确,并处理可能的换行符和空行问题。

相关推荐
IMPYLH1 小时前
HTML 的 <embed> 元素
前端·数据库·html
油丶酸萝卜别吃2 小时前
Redis 布隆过滤器快速实现
数据库·redis·缓存
深念Y2 小时前
stable-diffusion.cpp 的 FLUX.2 Klein 9B 分步
java·前端·数据库
FuckPatience2 小时前
C# 报错参数无效
c#
playboy1342 小时前
监控硬盘循环覆盖,监控数据恢复哪些情况还能找回录像
服务器·门控循环单元·智能硬件
whn19772 小时前
oracle 的ora-19633处理
数据库·oracle
承渊政道2 小时前
飞牛NAS部署Immich:搭建家庭相册并实现远程访问
运维·服务器·docker·内网穿透·cpolar·nas·immich
x-cmd2 小时前
用 Rust 打造 AI 时代的 SQL:把重复任务变成可执行文件
数据库·人工智能·sql·ai·容器·rust·workflow
小弥儿2 小时前
Firecrawl:把整个网页变成 AI 可查询的数据库
数据库·人工智能·学习