【发布时间】:2013-11-20 22:06:40
【问题描述】:
我正在使用下面的代码来编制纳斯达克证券交易所的股票代码列表。我正在使用位于此处的 CSV 文件:http://www.nasdaq.com/screening/companies-by-industry.aspx?exchange=NASDAQ&render=download
当我在 Excel 中打开 CSV 文件时,股票代码周围没有引号。但是当我运行下面的代码时。返回到我列表中的所有股票代码都有引号。为什么是这样?以及如何去掉引号?
这是我的代码:
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()
【问题讨论】:
-
不要使用 .Split() 解析 csv 数据。有许多专用的 csv 解析器可以做得更好:FastCSV、Linq-To-CSV、EasyCSV 和 TextFieldParser 都会浮现在脑海中。
-
@JoelCoehoorn:KBCsv 是我使用的 - 效果很好。每秒解析大约 70K 条记录或类似记录。
标签: vb.net parsing csv split string-split