2011-08-26 64 views
0

我正在通過streamreader讀取csv文件。問題在於,如果數據類似於「讀取」,那麼在csv文件中,然後蒸汽讀取器將相同的數據作爲「」讀取「」。如何刪除這些額外的引號?如何通過streamreader從csv文件讀取數據,因爲它意味着它應該作爲字符串

+0

如果你在文本編輯器中打開文件,你會看到額外的引號嗎? – ipr101

+0

是如果我在測試編輯器中打開文件,那麼在所有應該是字符串的值上都有反轉逗號。 –

+1

爲什麼不簡單地'str = str.Replace(「」「」,「」)'? –

回答

1

這聽起來像是你正在處理一些引用了一些(或全部)字段的CSV。如果是這樣的話,我建議使用Microsoft.VisualBasic.FileIO.TextFieldParser(很多人似乎都不知道,儘管名稱空間可以與C#一起使用)。

Imports Microsoft.VisualBasic.FileIO.TextFieldParser; 

Dim csvString As String = "25,""This is text"",abdd,""more quoted text""" 

Dim parser as TextFieldParser = New TextFieldParser(New StringReader(csvString)) 

' You can also read from a file 
' Dim parser As TextFieldParser = New TextFieldParser("mycsvfile.csv") 

parser.HasFieldsEnclosedInQuotes = True 
parser.SetDelimiters(",") 

Dim fields As String() 

While Not parser.EndOfData 

    fields = parser.ReadFields() 

    For Each (field As String in fields) 
     Console.WriteLine(field) 
    Next 
End While 

parser.Close() 

輸出應該是:

 
25 
This is text 
abdd 
more quoted text 

Microsoft.VisualBasic.FileIO.TextFieldParser

導入此,你需要一個參考Microsoft.VisualBasic添加到您的項目。

相關問題