gpt4 book ai didi

c# - 编写和完善 CSV 解析器

转载 作者:太空狗 更新时间:2023-10-30 00:20:46 25 4
gpt4 key购买 nike

作为最近项目的一部分,我必须从 CSV 文件中读取和写入,并在 c# 中放入 GridView 。最后决定使用现成的解析器来为我完成这项工作。

因为我喜欢做那种事情,所以我想知道如何着手编写自己的东西。

到目前为止,我所做的就是:

//Read the header
StreamReader reader = new StreamReader(dialog.FileName);
string row = reader.ReadLine();
string[] cells = row.Split(',');

//Create the columns of the dataGridView
for (int i = 0; i < cells.Count() - 1; i++)
{
DataGridViewTextBoxColumn column = new DataGridViewTextBoxColumn();
column.Name = cells[i];
column.HeaderText = cells[i];
dataGridView1.Columns.Add(column);
}

//Display the contents of the file
while (reader.Peek() != -1)
{
row = reader.ReadLine();
cells = row.Split(',');
dataGridView1.Rows.Add(cells);
}

我的问题:像这样继续下去是否是一个明智的想法,如果是(或不是)我将如何正确地测试它?

最佳答案

作为编程练习(用于学习和获得经验),这可能是一件非常合理的事情。对于生产代码,最好使用现有的库,主要是因为工作已经完成。 CSV 解析器需要解决很多问题。例如(随机从我的头顶上掉下来):

  • 引用值(字符串)
  • 在带引号的字符串中嵌入引号
  • 空值(NULL ... 或者甚至 NULL 与空)。
  • 条目数不正确的行
  • header 与无 header 。
  • 识别不同的数据类型(例如,不同的日期格式)。

但是,如果您在非常受控的环境中有非常特定的输入格式,您可能不需要处理所有这些。

关于c# - 编写和完善 CSV 解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9266747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com