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

相关推荐
2601_9632827711 分钟前
工程项目、政企采购为什么优先选择对讲机批量采购?
数据库
Doraemomo19 分钟前
SQLite数据库
数据库·sqlite
云贝教育-郑老师37 分钟前
MySQL 的“黑匣子“:Performance Schema 把数据库内部变成一张可查的表
数据库·mysql
上海云盾-小余2 小时前
流量攻击复盘:为什么 WAF 完好,业务依旧瘫痪
运维·服务器·网络
这个DBA有点耶2 小时前
同城双活落地的三座山:网络延迟、脑裂预防、反向同步
数据库·架构·dba
青春之我_XP2 小时前
MySQL 常用日期函数 实战指南
数据库·sql·mysql·数据分析·数据库开发·日期函数
Nturmoils2 小时前
sys_dump 备了库,角色和权限别漏在外面
数据库
接着奏乐接着舞。3 小时前
【2026】73道Redis 常见面试题与参考答案
数据库·redis·后端·缓存
我命由我123453 小时前
Linux - Linux/POSIX 路径斜杠折叠规则
linux·运维·服务器·android studio·android jetpack·android-studio·android runtime