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

相关推荐
杨云龙UP3 小时前
PostgreSQL 18.4 数据库整库迁移实战:pg_dump 备份与 pg_restore 恢复完整操作手册
运维·服务器·数据库·postgresql·pg_dump·pg_restore
AOI小白新手上路3 小时前
autodl常用的tar 打包下载(数据集)命令手册:逐段拆解与套用模板
java·大数据·数据库
凯歌的博客4 小时前
DuckDB 是一款进程内的分析型数据库
数据库·ai编程
阿松爱学习4 小时前
【Unity开发】监听Scene场景事件
unity·c#
dishugj4 小时前
Oracle物理体系结构
数据库·oracle
北亚数据恢复4 小时前
【数据库数据恢复】NDF文件变0KB、数据库损坏?超大数据库数据恢复案例
数据库·oracle
土星云SaturnCloud4 小时前
土星云智慧服务区方案:AI视觉+边缘计算+视频存管一体化的全场景智能化落地解析
服务器·人工智能·ai·边缘计算
数据技术说5 小时前
数据库缓存架构深度解析:命中率、一致性、多层缓存管理
数据库·架构
CJi0NG6 小时前
【自用】MySQL-多表查询
数据库·mysql