将数据追加到CSV文件VB.NET中的每一行

将数据追加到CSV文件VB.NET中的每一行,vb.net,csv,Vb.net,Csv,我有一个带有标题的csv文件。我需要循环浏览csv中的所有行,并在每一行的最后附加一列。我不想每次都读这一行,因为当它被重新写入时,它似乎改变了数据。我有一个带有符号的奇怪字段,所以它读得不对。我知道这一定很容易,但我花了两天时间研究各种选择,却没有找到答案。我今天要完成这件事,时间紧迫。有什么建议吗 提前感谢正如建议的那样,如果您的数据以某种方式被损坏,那么很可能是编码问题。你的问题的答案非常简单 Dim filePath As String Dim encoding As Encoding

我有一个带有标题的csv文件。我需要循环浏览csv中的所有行,并在每一行的最后附加一列。我不想每次都读这一行,因为当它被重新写入时,它似乎改变了数据。我有一个带有符号的奇怪字段,所以它读得不对。我知道这一定很容易,但我花了两天时间研究各种选择,却没有找到答案。我今天要完成这件事,时间紧迫。有什么建议吗


提前感谢

正如建议的那样,如果您的数据以某种方式被损坏,那么很可能是编码问题。你的问题的答案非常简单

Dim filePath As String
Dim encoding As Encoding
Dim newColumnHeader As String

'...

Dim lines = File.ReadAllLines(filePath, encoding)

lines(0) &= "," & newColumnHeader

For lineNumber = 1 To lines.GetUpperBound(0)
    lines(lineNumber) &= "," & lineNumber
Next

File.WriteAllLines(filePath, lines, encoding)

它必须与VB.Net一起使用吗?。。。真正的Excel可能会更快。。。在Excel中打开它,添加额外的列并重新保存为csv。。。。只是一个不同的想法…作为另一个选项,你的streamreader可以处理不同的编码,这将阻止你的符号被转换的问题。。。类似这样的情况:如果同时读取和写入同一个文件,将导致问题。您可以写入一个临时文件,最后覆盖该文件。