我正在尝试将csv金融数据从web解析成dict,我可以通过键进行导航。
我使用失败了csv.DictReader.
我有:
import csv
import urllib2
req = urllib2.Request('http://financials.morningstar.com/ajax/ReportProcess4CSV.html?&t=XNAS:BRCM®ion=usa&culture=en-US&cur=USD&reportType=is&period=12&dataType=A&order=desc&columnYear=5&rounding=3&view=raw&r=886300&denominatorView=raw&number=3')
response = urllib2.urlopen(req)
response.next()
csvio = (csv.DictReader(response))
print csvio.fieldnames
print len(csvio.fieldnames)
编辑以反映以下答案的更改。
这几乎让我明白了,但我需要在把主要的“财政年度…共享数据”提供给DictReader之前去掉它。怎样才能做到最好?我已经看到了转换成字符串和剥离铅字符str.l裂缝()就像医生说的here不走运。在
要使用DictReader,您需要指定字段名,或者字段名必须是csv数据的第一行(即标题行)。在
在代码检索的csv文件中,字段名位于第二行数据中,而不是第一行中。我所做的是在将csv文件传递给DictReader构造函数之前抛出第一行数据。在
针对您更新的问题: 从标题行中剥离前导文本可能是不可取的,因为这是作为第一列数据的字段名。最好放弃前2行数据,然后直接将所需字段名提供给DictReader。我更新了下面的例子以反映这一点。在
相关问题 更多 >
编程相关推荐