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文件的格式正确,并处理可能的换行符和空行问题。

相关推荐
山甫aa12 分钟前
锁一篇搞定:乐观锁、悲观锁、CAS、数据库锁与分布式锁【从零开始的 Web 后端学习】
java·数据库·分布式·后端·学习·web
Risehuxyc15 分钟前
C# 选用更流行的语言版本
c#
Android系统攻城狮24 分钟前
Linux FFmpeg深度解析之av_write_frame调用流程与实战(三十三)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
上火的金鱼妹31 分钟前
k8s生产实际问题排查(网关,数据库读写等)
运维·服务器
Nturmoils11 小时前
集中式与分布式怎么选:从订单读写看 KingbaseES 的架构边界
数据库
xiaomuzuirenzhen12 小时前
大专电子商务从事电商运营分析师需要考证吗?
大数据·数据库
翔云12345614 小时前
RocksDB中,客户端每写入一次数据,需要访问几次磁盘
运维·数据库·mysql
DevOpenClub14 小时前
职教高考控制线 API:招生类别枚举、筛选与空分数含义
java·数据库·高考
爱莉希雅&&&15 小时前
GitLab 完整学习笔记
linux·运维·服务器
GeW15 小时前
新质生产力路线图解读:数据库性能优化与Linux调优专场
linux·数据库