2017-11-04 4 views
0

私の目標は株価(シンボル)と株価を取得することです。私は結果を印刷することができますが、これらの結果をtext/csvファイルに保存する方法がわかりません。私symbols.txtファイルの値は次のとおりです。Python Loopの結果がCSVになる

PIH 
TURN 
FLWS 
FCCY 
SRCE 
VNET 
TWOU 

私は、現在実行しているスクリプトは次のとおりです。

import urllib 
import re 

symbolfile = open("symbols.txt") 

symbolslist = symbolfile.read() 

symbolslist = symbolslist.split("\n") 

i=0 
while i<len(symbolslist): 
    url = "http://www.nasdaq.com/symbol/" +symbolslist[i] 
    htmlfile = urllib.urlopen(url) 
    htmltext = htmlfile.read() 
    regex = '<div id="qwidget_lastsale" class="qwidget-dollar">(.+?)</div>' 
    pattern = re.compile(regex) 
    price = re.findall(pattern,htmltext) 
    print "the price of",symbolslist[i]," is " ,price 
    i+=1 

私の現在の出力は次のようになります。

the price of PIH is ['$7.175'] 
the price of TURN is ['$2.03'] 
the price of FLWS is ['$9.45'] 
the price of FCCY is ['$18'] 
the price of SRCE is ['$50.87'] 
the price of VNET is ['$7.145'] 
the price of TWOU is ['$63.89'] 

私の所望の出力は以下のようになりますtext/csvファイルに次の値を入力します。

PIH,$7.175 
TURN,$2.03 
FLWS,$9.45 
FCCY,$18 
SRCE,$50.87 
VNET,$7.145 
TWOU,$63.89 

ドル記号、かっこ、ectは問題ありません。私はそれらを別のプログラムで削除することができます。前もって感謝します!

+0

てみました、symbolslist [i]は、 "ある"、price'? –

答えて

1

はこれを試してください:あなたは、ライン `印刷 "の価格" を変更する

import urllib 
import re 

symbolfile = open("symbols.txt") 

symbolslist = symbolfile.read() 

symbolslist = symbolslist.split("\n") 

with open('output.csv', 'w') as output: 
    i=0 
    while i<len(symbolslist): 
     url = "http://www.nasdaq.com/symbol/" +symbolslist[i] 
     htmlfile = urllib.urlopen(url) 
     htmltext = htmlfile.read() 
     regex = '<div id="qwidget_lastsale" class="qwidget-dollar">(.+?)</div>' 
     pattern = re.compile(regex) 
     price = re.findall(pattern,htmltext) 
     output.write('%s,%s\n'%(symbolslist[i], price[0])) 
     print "the price of",symbolslist[i]," is " ,price 
     i+=1 
+0

これらの結果を各行の改行で印刷する方法はありますか?彼らは今のところ一列に並んでいるようだ。 – Andrew

+0

心配しないでください。理解した。 – Andrew

+0

ええ、忘れてしまいました、ごめんなさい:-) –

関連する問題