相关疑难解决方法(0)

使用C#读取CSV文件

我正在编写一个简单的导入应用程序,需要读取CSV文件,在a中显示结果DataGrid并在另一个网格中显示CSV文件的损坏行.例如,显示另一个网格中短于5个值的行.我试着这样做:

StreamReader sr = new StreamReader(FilePath);
importingData = new Account();
string line;
string[] row = new string [5];
while ((line = sr.ReadLine()) != null)
{
    row = line.Split(',');

    importingData.Add(new Transaction
    {
        Date = DateTime.Parse(row[0]),
        Reference = row[1],
        Description = row[2],
        Amount = decimal.Parse(row[3]),
        Category = (Category)Enum.Parse(typeof(Category), row[4])
    });
}
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,在阵列上操作非常困难.有没有更好的方法来分割价值观?

c# csv

159
推荐指数
6
解决办法
23万
查看次数

正则表达式拆分CSV

我知道这个(或类似的)已被多次询问,但尝试了许多可能性,我无法找到一个100%正常的正则表达式.

我有一个CSV文件,我试图将它拆分成一个数组,但遇到两个问题:引用逗号和空元素.

CSV看起来像:

123,2.99,AMO024,Title,"Description, more info",,123987564
Run Code Online (Sandbox Code Playgroud)

我试图使用的正则表达式是:

thisLine.split(/,(?=(?:[^\"]*\"[^\"]*\")*(?![^\"]*\"))/)
Run Code Online (Sandbox Code Playgroud)

唯一的问题是在我的输出数组中,第5个元素是123987564,而不是空字符串.

regex csv quotes split asp-classic

38
推荐指数
6
解决办法
8万
查看次数

标签 统计

csv ×2

asp-classic ×1

c# ×1

quotes ×1

regex ×1

split ×1