2013-11-08 1 views
1

Я использую приведенный ниже код для составления списка символов тикера на фондовой бирже NASDAQ. Я использую файл CSV, расположенный здесь: http://www.nasdaq.com/screening/companies-by-industry.aspx?exchange=NASDAQ&render=downloadКак удалить цитаты Окружающий текст, возвращенный из файла CSV Parse

Когда я открываю CSV-файл в Excel, кавычки вокруг символов тикера отсутствуют. Но когда я запускаю код ниже. Все символы тикера, возвращенные в мой список, имеют вокруг них кавычки. Почему это? И как мне избавиться от кавычек?

Вот мой код:

Public Shared tickerList As New List(Of String) 
Dim compositeList As New List(Of String) 
Dim strBuffer As String 
     strBuffer = Historical_Stock_Prices.RequestWebData(http://www.nasdaq.com/screening/companies-by-industry.aspx?exchange=NASDAQ&render=download) 
     Dim sReader As New StringReader(strBuffer) 
     Dim Line_List As New List(Of String) 
     Do While sReader.Peek >= 0 
      Line_List.Add(sReader.ReadLine) 
     Loop 
     Line_List.RemoveAt(0) 
     For Each Line In Line_List 
      compositeList.Add(Line.Split(",")(0).Trim.ToLower) 
     Next 
     sReader.Close() 
tickerList = compositeList.Distinct.ToList 
tickerList.Sort() 
+3

Не использовать .Split() для синтаксического анализа данных csv. Существует несколько выделенных синтаксических анализаторов csv, которые могут выполнять гораздо лучшую работу: [FastCSV] (http://www.codeproject.com/Articles/9258/A-Fast-CSV-Reader), [Linq-To- CSV] (http://www.codeproject.com/Articles/25133/LINQ-to-CSV-library), [EasyCSV] (https://github.com/jcoehoorn/easycsv) и [TextFieldParser] (http: //msdn.microsoft.com/en-us/library/microsoft.visualbasic.fileio.textfieldparser.aspx) все приходят на ум. –

+1

@JoelCoehoorn: [KBCsv] (http://kbcsv.codeplex.com/) - это то, что я использовал - работает очень хорошо. Некоторые 70K записей анализируются в секунду или аналогичные. – Neolisk

ответ

3
compositeList.Add(Line.Split(",")(0).Trim(New Char() {""""}).ToLower) 
+0

Это сработало отлично. Благодаря! – gromit1

+0

@ gromit1: Если ответ DonA был полезен, не забудьте принять и/или повысить. – Neolisk

2
myString = myString.Substring(1, myString.Length -1) 

Это удалит первые и последние символы.