2017-06-16 10 views
-1

これは私のコードです:自動的にNoneTypeを文字列にする方法は?

from yahoo_finance import Share 
from pprint import pprint 

laz = Share('LAZ') #Lazard 
# ABERDEEN 
amg = Share('AMG') #Affiliated Managers Group 
ben = Share('BEN') #Franklin Resources 
lm = Share('LM') #Legg Mason 
evr = Share('EVR') #Evercore Partners 
ghl = Share('GHL') #Greenhill 
hli = Share('HLI') #Houlihan Lokey 
mc = Share('MC') #Moelis 
pjt = Share('PJT') #PJT Partners 
ms = Share('MS') #Morgan Stanley 
gs = Share('GS') #Goldman Sachs 
jpm = Share('JPM') #JP Morgan 
ab = Share('AB') #Alliance Bernstein 

print ("Lazard: $" + laz.get_open()) 
# ABERDEEN 
print ("AMG: $" + amg.get_open()) 
print ("Franklin: $" + ben.get_open()) 
print ("LeggMason: $" + lm.get_open()) 
print ("Evercore: $" + evr.get_open()) 
print ("Greenhill: $" + ghl.get_open()) 
print ("Houlihan: $" + hli.get_open()) 
print ("Moelis: $" + mc.get_open()) 
print ("PJT: $" + pjt.get_open()) 
print ("MorganStanley: $" + ms.get_open()) 
print ("Goldman: $" + gs.get_open()) 
print ("JPMorgan: $" + jpm.get_open()) 
print ("AllianceBernstein: $" + ab.get_open()) 

これは私が取得していますエラーです:それは半分の時間を働くbecuase

Traceback (most recent call last): 
    File "C:/Users/ballz/Documents/Python/PDF to Excel/StockPerformance/stockcompetitoranalyis.py", line 26, in <module> 
    print ("Houlihan: $" + hli.get_open()) 
TypeError: must be str, not NoneType 

はしかし、それは本当に奇妙であり、他の半分はそれはしていません。なぜ残りは機能するのですか?この特定のものはなぜですか?

+2

てみ鋳造この機能Share_nonesafeを使用する: 'STR(hli.get_open())' – cookiedough

+1

はあなたが起こるために何をしたいですかそのインスタンス? '' None''、空の文字列( '' '')などを表示するべきでしょうか? – FamousJameous

+0

NoneTypeオブジェクト(NoneType型の唯一のオブジェクトであるためNone)は、必要な文字列とは何の関係もなく、必要な文字列の取得には使用できません。 'str'を呼び出すと' 'None ''という文字列しか生成されません。 – user2357112

答えて

1

私はこれが動作すると思います。..

だけではなく、Share

from yahoo_finance import Share 

def Share_nonesafe(x): 
    if Share(x) == None: 
     return (' price not available.')   
    else: 
     return (Share(x)) 
関連する問題