python运行出现need string or buffer, float found是为什么,该如何解决?

折射线 2017-09-07 11:07:26
我用的python2.7,Windows操作系统
代码如下:(代码中所需的json文件的百度链接:https://pan.baidu.com/s/1gfxkeNh)
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import json
filename='population_data.json'
with open(filename) as f:
pop_data=json.load(f)
for pop_dict in pop_data:
if pop_dict["Year"] == "1990-08-25":
country_name=pop_dict["Country Name"]
population=pop_dict["Value"]
print country_name+':'+population

运行结果如下:

显示print的类型错误,可是print语句只是简单的一个字符串连接,以前都是这么用从来没出过问题

若只print county_name,则又是正常的,说明前面的代码都是没有问题的。结果如下:


若之print population,结果也是正常的,结果如下:


这到底是为什么??感觉不应该有问题啊
...全文
265 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
sanGuo_uu 2017-09-07
  • 打赏
  • 举报
回复
你这个代码,是不是缩进有问题啊? 改成这样子试试
import json
filename='population_data.json' 
with open(filename) as f:
pop_data=json.load(f)
for pop_dict in pop_data: 
	if pop_dict["Year"] == "1990-08-25": 
		country_name=pop_dict["Country Name"]
		population=pop_dict["Value"] 
		print country_name+':'+population

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧