json - 有没有办法创建一个转换为熊猫的函数?
问题描述
我试图创建一个函数来将 json 转换为数据框。当我逐行编写时,它可以工作
json_data = requests.get('https://data.cityofnewyork.us/resource/erm2-nwe9.json')
text_data = json.loads(json_data.text)
data = pd.DataFrame(text_data)
然后我创建了这个函数:
def JSON_to_DF(json):
json_data = requests.get(json)
print(type(json_data))
text_data = json.loads(json_data.text)
pd_data = pd.DataFrame(text_data)
return pd_data
但是当我运行它时,它给了我这个错误:
AttributeError: 'str' object has no attribute 'loads'
我错了哪一部分?
解决方案
你的函数中有两个json
,一个是包,一个是变量。您应该更改变量的名称:
# change the variable name here
def JSON_to_DF(json_str):
json_data = requests.get(json_str)
print(type(json_data))
text_data = json.loads(json_data.text)
pd_data = pd.DataFrame(text_data)
return pd_data
推荐阅读
- laravel - parse_url() 期望参数 1 是字符串,创建用户 laravel 时给定的数组
- python - 如何减小 sympy.Poly 中生成器的大小?
- javascript - 如何让背面可见性在这里的代码中工作?
- ruby-on-rails - example.com 重定向您的次数过多。ERR_TOO_MANY_REDIRECTS
- python - 由于谷歌广告,无法点击元素
- reactjs - 使用 React 上传文件并在网页中显示它们
- delphi - FMX - 动画中的两个触发器
- shell - 使用 awk 对列求和时输出奇怪
- java - AsynchronousFileChannel.open 在打开 FIFO(命名管道)进行读取时挂起
- android - 一切都很好,但是调用接口方法改造时显示折线出现错误