使用 C# 将 csv 文件读取到 DataTable 中?

发布于 2024-11-27 07:46:56 字数 215 浏览 3 评论 0原文

我不久前编写了许多 Python 脚本,用于进行一些数据处理。 我需要将其中一些脚本“移植”到 C#。

Python 提供了一个 CSV 模块,可以方便地将 CSV 数据从文件导入到字典中。我希望在我的库中具有相同的功能,但由于我是 C# 新手,所以决定来这里询问将 CSV 数据导入 DataTable 的最佳实践方法。

我是自己推出,还是有Python 那样的“CSV 模块”?

I have a number of Python scripts I wrote a while back, to do some data munging.
I need to 'port' some of those scripts to C#.

Python provides a CSV module which facilitates importing CSV data from file into a dictionary. I want to have the same functionality in my library, but since I am new to C#, decided to come in here to ask for the best practices way to import CSV data into a DataTable.

Do I roll my own, or is there a 'CSV module' ala Python?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

你穿错了嫁妆 2024-12-04 07:46:56

我不会尝试自己推出。您将需要努力应对 CSV 文件可能向您抛出的所有奇怪的极端情况。

我建议使用 Sébastien Lorion 的快速 CSV 阅读器

using (var csv = new CachedCsvReader(new StreamReader(filePath), true))
{
    DataTable Table = new DataTable();
    Table.Load(csv);
}

I wouldn't try to roll your own. You'll have your work cut out trying to cope with all the weird corner-cases that CSV files can throw at you.

I would recommend Sébastien Lorion's Fast CSV Reader instead:

using (var csv = new CachedCsvReader(new StreamReader(filePath), true))
{
    DataTable Table = new DataTable();
    Table.Load(csv);
}
说好的呢 2024-12-04 07:46:56

我没有找到任何内置的 .NET(这是我在 .NET 2.0 中编码我的解决方案时)功能可以满足我的需求,因此我使用了下面的开源链接。我每月处理大约 36000 个文件,它运行良好,而且我还没有遇到问题。

CsvReader

I didn't find any built-in .NET (this is when I coded my solution in .NET 2.0) features that satisfied my needs, so I used the open source link below. I process about 36000 files a month, it works well and I've yet to have an issue.

CsvReader

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文