【发布时间】:2015-10-31 20:21:10
【问题描述】:
我正在尝试从 Yahoo Finance 数据中抓取选定的列。我能够以 csv 格式抓取整个数据,但我很想知道如何只抓取选定的列而不是整个 csv 数据。我尝试了 split 方法将字符串数据转换为列表,然后只访问列表中所需的列,但它不能正常工作。
import urllib2
listOfStocks = ["AAPL", "MSFT", "GOOG", "FB", "AMZN"]
urls = []
for company in listOfStocks:
urls.append('http://real-chart.finance.yahoo.com/table.csv?s=' + company + '&d=6&e=28&f=2015&g=m&a=11&b=12&c=1980&ignore=.csv')
Output_File = open('../Files_Directory/Yahoo_Finance/Historical_Prices.csv','w')
New_Format_Data = ''
for counter in range(0, len(urls)):
Original_Data = urllib2.urlopen(urls[counter]).read()
if counter == 0:
New_Format_Data = "Company," + urllib2.urlopen(urls[counter]).readline()
rows = Original_Data.splitlines(1)
for row in range(1, len(rows)):
New_Format_Data = New_Format_Data + listOfStocks[counter] + ',' + rows[row]
Output_File.write(New_Format_Data)
Output_File.close()
【问题讨论】:
标签: python csv web-scraping yahoo-finance