I have 2 APIs. I am fetching data from them. I want to assign particular code parts to string so that life became easier while coding. Here is the code:
import urllib2 import json urlIncomeStatement = 'http://dev.c0l.in:8888' apiIncomeStatement = urllib2.urlopen(urlIncomeStatement) dataIncomeStatement = json.load(apiIncomeStatement) urlFinancialPosition = 'http://dev.c0l.in:9999' apiFinancialPosition = urllib2.urlopen(urlFinancialPosition) dataFinancialPositiont = json.load(apiFinancialPosition) for item in dataIncomeStatement: name = item['company']['name'] interestPayable = int(item['company']['interest_payable']) interestReceivable = int(item['company']['interest_receivable']) sales = int(item['company']['interest_receivable']) expenses = int(item['company']['expenses']) openingStock = int(item['company']['opening_stock']) closingStock = int(item['company']['closing_stock']) sum1 = sales + expenses if item['sector'] == 'technology': name + "'s interest payable - " + interestPayable name + "'s interest receivable - " + interestReceivable name + "'s interest receivable - " + sales name + "'s interest receivable - " + expenses name + "'s interest receivable - " + openingStock name + "'s interest receivable - " + closingStock print sum1
In result I get:
Traceback (most recent call last): File "C:/Users/gnite_000/Desktop/test.py", line 25, in <module> name + "'s interest payable - " + interestPayable TypeError: coercing to Unicode: need string or buffer, int found
You have to add '%s' % and () to each line, like this:
'%s' % (name + "'s interest payable - " + interestPayable)
The problem might have to do with the fact that you are adding ints to strings here
if item['sector'] == 'technology': name + "'s interest payable - " + interestPayable name + "'s interest receivable - " + interestReceivable name + "'s interest receivable - " + sales name + "'s interest receivable - " + expenses name + "'s interest receivable - " + openingStock name + "'s interest receivable - " + closingStock
As far as I'm aware, the interpretor cannot implicitly convert an int to a string. This might work, though,
str(name) + "'s interest receivable - " + str(closingStock)
On which I'm assuming Python > 3.0
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With