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

相关推荐
小羊没烦恼!2 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
神仙别闹2 天前
基于C#+MySQL实现(WinForm)个人聊天室软件
c#
虎头金猫2 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
这个DBA有点耶2 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G2 天前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备2 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远2 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
kybs19912 天前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net
2601_962218612 天前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法
-梅2 天前
linux(8) 软硬链接
linux·运维·服务器