Как читать данные через Streamreader из CSV-файла, как он есть .. означает, что он должен быть в виде строки - PullRequest
0 голосов
/ 26 августа 2011

Я читаю CSV-файл через потоковый ридер. Проблема в том, что в CSV-файле, если данные похожи на «Read», то в steamreader те же данные поступают, что и «Read». Как убрать эту лишнюю кавычку?

1 Ответ

1 голос
/ 27 августа 2011

Похоже, вы имеете дело с 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 в ваш проект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...