我想从谷歌财经导入文本数据,我用这个http地址作为参数来DownloadString
http://www.google.com/finance/getprices?i=1200&p=1d&f=d,o,h,l,c,v&df=cpct&q=AAPL
。但是,生成的字符串缺少任何换行符,因此确实很难解析。有什么想法吗?
文件中有换行符。在十六进制编辑器中检查它。它们是 Unix 行尾 (0x0A),而不是 Windows 行尾 \r (0x0D 0x0A)。您可以将字符串馈送到StringReader
然后逐行读取,然后将其逐行写入其他地方,以规范行尾,或者您可以执行替换操作。
DownloadString
不会更改下载的内容,唯一的问题可能是编码不匹配。
流返回的行尾n
与默认的 Windows 行尾rn
相对(在 Windows 上以 Environment.NewLine
表示)。
尝试拆分所有可能的r
和n
组合:
WebClient wc = new WebClient();
string s = wc.DownloadString("http://www.google.com/finance/getprices?i=1200&p=1d&f=d,o,h,l,c,v&df=cpct&q=AAPL");
string[] lines = s.Split(new string[] { Environment.NewLine, "n", ""r" }, StringSplitOptions.None);