【问题标题】:Exporting data to CSV format将数据导出为 CSV 格式
【发布时间】:2009-09-26 11:59:12
【问题描述】:

我正在做一个 VB 程序,使用四个 for 循环来生成一组数字,使用以下代码.....

 For sphere = 1 To 10
        For cylinder = 2 To 20
            For axis = 3 To 30
                For add = 4 To 40
                   Console.WriteLine("{0} , {1},{2},{3} ", _
                       sphere, cylinder, axis, add)
                Next add
            Next axis
        Next cylinder
    Next sphere

我需要将此程序的输出导出为 CSV 格式...... 任何人都可以通过提供合适的代码来帮助我做同样的事情......

【问题讨论】:

  • StreamWriter 和 string.Format ("{0},{1},...

标签: vb.net


【解决方案1】:

CSV 格式只是一个包含行的文本文件,每行包含由逗号分隔的数据值记录。

最简单的方法是从命令行调用您的应用程序并使用> 运算符将标准输出重定向到命令行。这样,您根本不需要更改任何代码。

如果由于某种原因无法重定向标准输出,Microsoft 提供了an example on how to read from and write to a file using Visual Basic 2005。

我对 Visual Basic 不是很熟悉,但您的代码可能看起来像这样:

Dim objStreamWriter As StreamWriter

objStreamWriter = New StreamWriter("output.txt", True, Encoding.Unicode)

For sphere = 1 To 10
    For cylinder = 2 To 20
        For axis = 3 To 30
            For add = 4 To 40
                objStreamWriter.WriteLine("{0},{1},{2},{3}", sphere, cylinder, axis, add)
                Next add
        Next axis
    Next cylinder
Next sphere

objStreamWriter.Close()

请注意,上面的代码还没有编译,更不用说测试了。我只是快速制作了一个示例,向您展示解决此问题的代码应该是什么样的。

【讨论】:

  • 好答案,好干净的例子。
  • 我曾经写过一个 VB.NET 应用程序,那是几年前的事了……更不用说,这只是周六早上 8 点。如果您发现它有问题,请随时进入并编辑它以修复它。
【解决方案2】:

看起来该代码已经生成了 CSV 输出。如果这是一个控制台应用程序,那么一种选择是将输出重定向到文件?从命令提示符...

myProgThatGeneratesNumbers.exe > outputfile.csv

如果您确实想以编程方式执行此操作,则只需打开一个流并写入该流即可。

【讨论】:

    【解决方案3】:

    我会使用System.IO.StreamWriter 来写入文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-08
      • 1970-01-01
      • 1970-01-01
      • 2016-03-01
      相关资源
      最近更新 更多