如何通过VB 6.0修改/更新.CSV文件

如何通过VB 6.0修改/更新.CSV文件,csv,vb6,Csv,Vb6,我有一个.CSV文件,一行有5个值,我想修改该文件,在该行的开始/结束/中间添加一个值 如何在.CSV文件中添加具有一组值的新行 如何以简单的方式执行此操作?在流文件(如任何包含CSV文件的文本文件)的中间插入内容没有神奇的方法 因此,这意味着您需要读取旧文件,并在编写新文件时对其进行修改 但有很多方法可以做到这一点: 将输入文件作为blob读取到内存中,并在内存中处理它,然后写出修改后的数据 逐行读/写更改 使用Jet Text IISAM、日志解析器的COM API等,允许对CSV等表格格

我有一个.CSV文件,一行有5个值,我想修改该文件,在该行的开始/结束/中间添加一个值

如何在.CSV文件中添加具有一组值的新行


如何以简单的方式执行此操作?

在流文件(如任何包含CSV文件的文本文件)的中间插入内容没有神奇的方法

因此,这意味着您需要读取旧文件,并在编写新文件时对其进行修改

但有很多方法可以做到这一点:

  • 将输入文件作为blob读取到内存中,并在内存中处理它,然后写出修改后的数据
  • 逐行读/写更改
  • 使用Jet Text IISAM、日志解析器的COM API等,允许对CSV等表格格式的文本数据执行SQL和类似SQL的操作
最简单、最通用的方法是逐行读取/修改/写入。对于小到中等的文件,这可能比“blob”方法要慢,但在必须处理大文件时,不会出现令人头痛的问题


对于非常大的文件,可以通过读取、解析、修改,然后在“块”中写入来优化,以最小化I/O成本。但是,正确编程也可能更复杂。

这段代码可能会有所帮助,这不是答案,但会有所帮助

Dim line As String
Dim arrayOfElements() As String
Dim linenumber As Integer
Dim i As Integer
Dim opLine As String
Dim fso As New FileSystemObject
Dim ts As TextStream

line = ""

Open strPath For Input As #1 ' Open file for input
    Do While Not EOF(1) ' Loop until end of file
        linenumber = linenumber + 1
        Line Input #1, line
        arrayOfElements = Split(line, "|")
       If Not linenumber = 1 Then
            If UBound(arrayOfElements) = 2 Then
               line = line & "|x|y"
               opLine = opLine & line & vbCrLf
            End If
        Else
        line = line & "|col4|col5"
         opLine = opLine & line & vbCrLf
       End If
环路

fso需要关闭


Set fso=Nothing

Bob77,你能帮我写一段代码吗,我会在那里即兴创作
Close #1 ' Close file.
Set ts = fso.CreateTextFile(strPath, True)
ts.WriteLine (opLine)
ts.Close