我正在使用VB.NET 2008,而我正在尝试做的事情非常简单,但我似乎无法弄明白。
我有一个包含大约200列和50,000行的CSV文件,第一行中有列标题。我需要读取此文件并将三个命名列(样本ID号,分析日期,P计数)导出到制表符分隔的.TXT文件。根据创建原始CSV的计算机,列可能具有不同的顺序,因此我肯定需要通过命名列导出它。
我可以闭着眼睛在控制台C中整天这样做;但是,我的老板知道我将在几个月内离开并要求我在VB.NET中这样做,所以另一个人可以在将来进行调整。我花了几天时间浏览这个网站,其他人试图寻找解决方案。我已经设法将CSV放入DataGridView(尽管没有列标题,呃),但我无法弄清楚如何从中获取数据。老实说,我只是不习惯这个OOP的东西。如果有人愿意帮助我,或者甚至引导我朝着正确的方向前进,我将非常感激。
答案 0 :(得分:0)
不是免费的,但差不多(5美元,免费试用) - 我是用户Kellerman Software的.Net CSV报告。
从网上下载CSV的示例,适用于本地文件:
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
Using client As New WebClient ' Imports System.Net needed
' Download the web page as a string.
Dim value As String = client.DownloadString("http://www.jotform.com/csv/@#&*2131238*((")
Dim rdr As New CsvReader ' Imports KellermanSoftware.CsvReports needed
Dim dt As DataTable = rdr.CsvStringToDataTable(value)
dgv1.DataSource = dt
End Using
End Sub
一旦数据在DataTable中,您将拥有指定的列,假设源具有标题。
请注意,这是许可软件,需要一个包含的dll - 我确定那里有开源版本。我将此类软件用于短期任务,除非您购买源代码并进行编译,否则不适合生产。