我正在尝试在代码中为大数字添加逗号。当我隔离代码时,它可以工作:
num = str(12354343)
print("{:,}".format(float(num)))
Run Code Online (Sandbox Code Playgroud)
但是在我的代码内部,我收到+的错误不支持的操作数类型:“ float”和“ str”。
def commafy(x):
x = "{:,}".format(float(x))
return x
i=1
d = resp.json()
for result in d['results']:
#print(result['campaign_name'])
data[i] = {'Source': 'Taboola', 'Campaign': result['campaign_name'], 'Impr.': commafy(result['impressions']), 'CTR': round(result['ctr'],2) + "%", 'Spent': result['spent']}
i+=1
Run Code Online (Sandbox Code Playgroud)
怎么了
谢谢,
您的问题在其他地方:
Run Code Online (Sandbox Code Playgroud)'CTR': round(result['ctr'],2) + "%",
round的结果是a,float并且您试图将其与'%'字符串相结合。
你不是commafy在这里浮动结果...
'CTR': f"{round(result['ctr'],2)}%", # should work for 3.6+ (string interpolation syntax)
Run Code Online (Sandbox Code Playgroud)
要么
'CTR': "{}%".format(round(result['ctr'],2)), # should work for below 3.6
Run Code Online (Sandbox Code Playgroud)