投资 干货 消费 评论 学院 滚动
风投 科技 创业 业内 要闻
Winform 编写一个读取并解析csv的程序
发布日期: 2023-07-09 00:48:40 来源: 哔哩哔哩

众所周知,CSV是一种通用的、相对简单的文件格式,被用户、商业和科学广泛应用。

所以在制作游戏时,可能会用到CSV来记录各个物品的数据,就像这样:


【资料图】

ID;Name;Description;ItemType

01;《无机化学》第四版;风靡于各大高校的法器,可造成巨额化学伤害;Catalyst

02;菜刀;厨房里的常见厨具,但是用途特别多;Tool

03;理想电源;一个没有内阻的理想电源,虽然电压只有,但是电流强劲!;Catalyst

04;等轴双曲线;一个平平无奇的等轴双曲线,却可以用其开口困住敌人;Shield

我们要将这些数据解析成表格(DataTable),以便更好去呈现或者调用:

想要解析CSV文件,就必须知道CSV的特征:

纯文本,使用某个字符集,比如ASCII、Unicode、EBCDIC或GB2312;

由记录组成(典型的是每行一条记录);

每条记录被分隔符分隔为字段(典型分隔符有逗号、分号或制表符;有时分隔符可以包括可选的空格);

每条记录都有同样的字段序列。

(其中第三点可以给我们解析CSV文件提供思路)

那么...不难思考出读取并解析CSV的程序该怎么写

将CSV读取成字符串

利用换行符'\n'将读取的字符串每一行分割

遍历分割出的每一个字符串(源文件对应每一行),再次利用分隔符进行分割(分隔符一般有分号(';')、逗号(',') 、空格(' '),这次示例中使用的分隔符为分号

将分割出来的每一项字符串存入DataTable表格

然后只需将表格控件的DataSource设置为DataTable就可以啦

理论存在,实践开始

首先拉个窗口,控件很简单,只需加个DataGridView和Button即可

功能为点击按钮则解析对应CSV并呈现在DataGridView上

然后再按钮点击事件中写一个文件位置字符串(我的示例表格再桌面上)

接着获取csv数据

然后我们写一个加载CSV的方法供按钮事件调用(写在按钮事件里面也可啦)

下面我们完善这个读取方法

按照思路,先把每一行分离,并且创建一个文件头

然后再加上对每一行解析的代码

(这些看似有一大段,原理实际上非常好弄懂)

最后再按钮方法中加上这一行,给表格数据源赋上读取CSV方法得到的数据

大功告成!

运行看看...

最后附上全部代码

(文件路径可以修改的哦~)

(文章发布时作者还是高中生,自学编程,文章写的烂请不要见怪doge)

关键词:
24小时热点 精彩推荐
资讯新闻