Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 简单字符串连接失败_Python_Python 2.7_String Concatenation_Yahoo Finance_Nonetype - Fatal编程技术网

Python 简单字符串连接失败

Python 简单字符串连接失败,python,python-2.7,string-concatenation,yahoo-finance,nonetype,Python,Python 2.7,String Concatenation,Yahoo Finance,Nonetype,我有以下代码: from yahoo_finance import Currency symbolslist = ["EURUSD","EURGBP","EURJPY","EURRUB","USDCAD","USDCHF","AUSUSD"] for i in range(len(symbolslist)): symbol = symbolslist[i] nomisma = Currency(symbol).get_rate() quot

我有以下代码:

from yahoo_finance import Currency

symbolslist  = ["EURUSD","EURGBP","EURJPY","EURRUB","USDCAD","USDCHF","AUSUSD"]

for i in range(len(symbolslist)):
        symbol = symbolslist[i]
        nomisma = Currency(symbol).get_rate()

        quota = symbol + " = " + nomisma
        print quota
我得到的结果是:

EURUSD = 1.0891
EURGBP = 0.7322
EURJPY = 129.7440
EURRUB = 63.0560
USDCAD = 1.2614
USDCHF = 0.9622
Traceback (most recent call last):
  File "yahoopy.py", line 13, in <module>
    quota = symbol + " = " + nomisma
TypeError: cannot concatenate 'str' and 'NoneType' objects
欧元兑美元=1.0891
欧元GBP=0.7322
欧元兑日元=129.7440
欧元卢布=63.0560
USDCAD=1.2614
美元兑瑞士法郎=0.9622
回溯(最近一次呼叫最后一次):
文件“yahoopy.py”,第13行,在
配额=符号+“=”+nomisma
TypeError:无法连接'str'和'NoneType'对象
我知道这个错误已经在link中讨论过了


但是我希望我能够克服这个错误,而不必求助于mysql。

在您的concat语句上方添加一个
if
子句

if nomisma:
    quota = symbol + " = " + nomisma
假设-这意味着
AUSUSD
不存在于数据库中,这就是
货币(符号)的原因。get\u rate()
返回
。如前所述,它是
audud
,而不是
audud

注意:最好使用中的concat

quota = "{} = {}".format(symbol,nomisma)

问题是打字错误。而不是您编写的
audud
。修复它,错误将消失:

symbolslist  = ["EURUSD","EURGBP","EURJPY","EURRUB","USDCAD","USDCHF","AUDUSD"]

尽管如此,使用@BhargavRao建议的
格式
捕获此类bug仍然是一个好主意。

这怎么可能?该程序通过雅虎财经API直接从雅虎财经网站获取数据。奇怪的是,它在最后一个值AUDUUSD时崩溃了。只是一个OT建议:你可以用“符号列表中的符号”的元素在数组中循环。谢谢,我会试试。你是对的。是我愚蠢的打字错误把事情搞砸了。现在一切正常。谢谢你注意到了。我想我以前已经纠正了。。。