首页 > 解决方案 > 有没有办法创建一个转换为熊猫的函数?

问题描述

我试图创建一个函数来将 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'

我错了哪一部分?

标签: jsonpandasfunctiondataframe

解决方案


你的函数中有两个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

推荐阅读