2017-01-16 5 views
0

私は変数として定義されたナスダック株の膨大なリストを持っています。ここ はコードです:文字列Python 3.5の各行にサブストリングを印刷

from ftplib import FTP 

def my_function(data): 
    print(data.decode()) 

ftp = FTP('ftp.nasdaqtrader.com') 
ftp.login() 
nasdaq=ftp.retrbinary('RETR /SymbolDirectory/nasdaqlisted.txt', my_function) 

私は、文字列「ナスダック」をプリントアウトした場合、私はそれが次の形式で提供されます見ることができます:

AAAP|Advanced Accelerator Applications S.A. - American Depositary Shares|Q|N|N|100|N|N 
AAL|American Airlines Group, Inc. - Common Stock|Q|N|N|100|N|N 
AAME|Atlantic American Corporation - Common Stock|G|N|N|100|N|N 
AAOI|Applied Optoelectronics, Inc. - Common Stock|G|N|N|100|N|N 
and so on... 

私だけティッカーがプリントアウトされているリストをしたいです:

AAAP 
AAL 
AAME 
AAOI 

これを行うには適切な方法はありますか?

+0

あなたの現在のアプローチは何ですか?なぜそれが間違っていると思いますか? – jonrsharpe

+0

パイプ( "|")で文字列 'split()'を使うと、リストを返すことができます。リストの最初の項目はティッカーでなければなりません – Jakub

+0

@ TigerhawkT3なぜ私の投稿は重複していますか?あなたが言及する投稿は、より大きな文字列から部分文字列を抽出しますが、より多くの行にループする必要はありません。 –

答えて

0
print '\n'.join(share.split('|')[0] for share in nasdaq.splitlines()) 
+0

OPは "巨大な"リストだと言いました。そのため、すべてを一度に処理することはおそらく素晴らしい計画ではありません。 – TigerhawkT3

+0

"huge"は3291行ですが、あまり気にならないはずです。しかし、もしファイルが大きければ、私は同意します。 –

+1

あなたの答えを編集してください、またはあなたがダウン投票することができます。今のように、それは文脈のない単なる提案です。 [良い回答を書くにはこちら](http://stackoverflow.com/help/how-to-answer)をご覧ください。 – jacefarm

関連する問題