我使用的是Lumenworks CSV阅读器,我必须说到目前为止我对它的工作方式并不满意。
我在一小时内解析了数千个csv文件并且始终存在问题,要么抛出异常,抱怨错误记录,要么倾斜列等等。
你能推荐一款精美的CSV阅读器,它不一定是免费的,但没有错误。
谢谢。
答案 0 :(得分:3)
FileHelpers开源库http://www.filehelpers.net/
答案 1 :(得分:3)
尝试CsvHelper(我维护的库)。它也可以在NuGet上使用。
答案 2 :(得分:1)
您引用的是从文件中收到异常等。虽然这些可能是不受欢迎的,你有没有调查原因?
您可能只想使用表中的一个当前解析器,并在发生异常时尝试替代或/并使用自定义代码处理方案。我知道这不是你想要的,但问题可能不是你正在使用的工具,而是工具正在接收的输入......
您还可以将有问题的文件移动到单独的目录(在代码中)以稍后查看并获取将处理的内容。
答案 3 :(得分:1)
.NET内置了一个CSV解析器。
来自http://coding.abel.nu/2012/06/built-in-net-csv-parser/:
// TextFieldParser is in the Microsoft.VisualBasic.FileIO namespace.
using (TextFieldParser parser = new TextFieldParser(path))
{
parser.CommentTokens = new string[] { "#" };
parser.SetDelimiters(new string[] { ";" });
parser.HasFieldsEnclosedInQuotes = true;
// Skip over header line.
parser.ReadLine();
while (!parser.EndOfData)
{
string[] fields = parser.ReadFields();
yield return new Brand()
{
Name = fields[0],
FactoryLocation = fields[1],
EstablishedYear = int.Parse(fields[2]),
Profit = double.Parse(fields[3], swedishCulture)
};
}
}
答案 4 :(得分:0)
你必须检查输入文件。我认为这些工具不会停止格式检查,因为它们针对的是数量(浏览错误的数据来处理最大的文件)。 在现实世界中,您很少看到干净的CSV流。司机倾向于提供自己的类型:
- 没有引用
- 半结肠而不是逗号
产生错误的文件通常来自同一来源。
答案 5 :(得分:-1)
我使用它已经很长时间了,但是FileHelpers使用了很多选项来进行CSV解析。