2012-11-12 63 views
0

嘿,我想找出一種方法來糾正我的CSV文件中的錯誤之前,它出錯MalformedLineException格式不正確的CSV在結束

我的代碼是這樣的:

Using myreader As New Microsoft.VisualBasic.FileIO.TextFieldParser("c:\temp.csv") 
     myreader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.Delimited 
     myreader.Delimiters = New String() {",", "\n"} 
     myreader.HasFieldsEnclosedInQuotes = True 'Added 

     While Not myreader.EndOfData 
      Try 
       currentrow = myreader.ReadFields() 

的錯誤是在currentrow = myreader.ReadFields()

"xx.xxx.xxx.xx","2012-05-15 13:15:54","Bob Barker","[email protected]"," 

它應該閱讀:

"xx.xxx.xxx.xx","2012-05-15 13:15:54","Bob Barker","[email protected]","" 

我怎樣才能糾正這種以前它到達線currentrow =它是由沒有在CSV的最後一行結束引號引起myreader.ReadFields()

回答

3

您可以使用File.AppendAllText添加報價:

File.AppendAllText(filePath, """") 
+0

我將如何實現,對於** ** myreader? – StealthRT

+0

在打開'myreader'之前,您需要這樣做。問題是你試圖打開一個不合法的csv文件。這會在打開它之前糾正問題。 – recursive

+0

太棒了!感謝您的幫助,遞歸! – StealthRT