解析response返回数据转换成datefram

学习笔记备忘录——解析response返回数据转换成datefram

1,创建空的datefram数据表,并添加数据

背景:在启用response返回的数据,在json解析以后是[{},{},{}......]的格式,怎么把这样的数据转换成数据表呢?

json解析后的数据,为了数据隐私,我这里进行了打码操作。

{"result":10000,"msg":"访问成功","data":{"total":13,"resultList":[{"attendNum":183,"attendRate":60.94,"courseDate":"2020-04-20","courseId":6455,"courseName":"aa","reserveAttendNum":39,"reserveNum":64,"sixty":13,"ten":115,"thirty":82},{"attendNum":100,"attendRate":55.07,"courseDate":"2020-04-19","courseId":6454,"courseName":"bb","reserveAttendNum":38,"reserveNum":69,"sixty":6,"ten":61,"thirty":22},{"attendNum":58,"attendRate":70.00,"courseDate":"2020-04-19","courseId":6453,"courseName":"cc","reserveAttendNum":7,"reserveNum":10,"sixty":28,"ten":49,"thirty":42},{"attendNum":26,"attendRate":66.67,"courseDate":"2020-04-18","courseId":6451,"courseName":"dd","reserveAttendNum":4,"reserveNum":6,"sixty":9,"ten":11,"thirty":9},{"attendNum":193,"attendRate":72.92,"courseDate":"2020-04-18","courseId":6452,"courseName":"ee","reserveAttendNum":35,"reserveNum":48,"sixty":16,"ten":106,"thirty":68},{"attendNum":80,"attendRate":60.87,"courseDate":"2020-04-18","courseId":6450,"courseName":"ff","reserveAttendNum":14,"reserveNum":23,"sixty":36,"ten":62,"thirty":55},{"attendNum":236,"attendRate":67.80,"courseDate":"2020-04-18","courseId":6449,"courseName":"gg","reserveAttendNum":40,"reserveNum":59,"sixty":41,"ten":136,"thirty":93},{"attendNum":34,"attendRate":81.82,"courseDate":"2020-04-17","courseId":6447,"courseName":"hh","reserveAttendNum":9,"reserveNum":11,"sixty":13,"ten":20,"thirty":15}]}}

 好了,拿到网页下载下来的数据,怎么转换成好看的数据表呢?按照字典遍历逻辑,先拿出resultList的数据出来。

b = data['data']['resultList']

返回结果如下:

[{'attendNum': 183, 'attendRate': 60.94, 'courseDate': '2020-04-20', 'courseId': 6455, 'courseName': 'aa', 'reserveAttendNum': 39, 'reserveNum': 64, 'sixty': 13, 'ten': 115, 'thirty': 82}, {'attendNum': 100, 'attendRate': 55.07, 'courseDate': '2020-04-19', 'courseId': 6454, 'courseName': 'bb', 'reserveAttendNum': 38, 'reserveNum': 69, 'sixty': 6, 'ten': 61, 'thirty': 22}, {'attendNum': 58, 'attendRate': 70.0, 'courseDate': '2020-04-19', 'courseId': 6453, 'courseName': 'cc', 'reserveAttendNum': 7, 'reserveNum': 10, 'sixty': 28, 'ten': 49, 'thirty': 42}, {'attendNum': 26, 'attendRate': 66.67, 'courseDate': '2020-04-18', 'courseId': 6451, 'courseName': 'dd', 'reserveAttendNum': 4, 'reserveNum': 6, 'sixty': 9, 'ten': 11, 'thirty': 9}, {'attendNum': 193, 'attendRate': 72.92, 'courseDate': '2020-04-18', 'courseId': 6452, 'courseName': 'ee', 'reserveAttendNum': 35, 'reserveNum': 48, 'sixty': 16, 'ten': 106, 'thirty': 68}, {'attendNum': 80, 'attendRate': 60.87, 'courseDate': '2020-04-18', 'courseId': 6450, 'courseName': 'ff', 'reserveAttendNum': 14, 'reserveNum': 23, 'sixty': 36, 'ten': 62, 'thirty': 55}, {'attendNum': 236, 'attendRate': 67.8, 'courseDate': '2020-04-18', 'courseId': 6449, 'courseName': 'gg', 'reserveAttendNum': 40, 'reserveNum': 59, 'sixty': 41, 'ten': 136, 'thirty': 93}, {'attendNum': 34, 'attendRate': 81.82, 'courseDate': '2020-04-17', 'courseId': 6447, 'courseName': 'hh', 'reserveAttendNum': 9, 'reserveNum': 11, 'sixty': 13, 'ten': 20, 'thirty': 15}]

这就是开头说的类似这种[{},{},{}......]的格式,事实上,现在看着的数据是非常不清晰难看的,为了便化成datefram,我们先新建一个空的数据表,然后for循环一次添加进数据表,具体代码如下:

import pandas as pd
Courselistdate = pd.DataFrame()
for i in b:
    Courselistdate = Courselistdate.append(i,ignore_index=True)
print(Courselistdate)

输出结果如下:

是不是很熟悉,这样我们就可以对数据表进行操作了,增删改查随便都可以,下一次仔细描述数据表datefrma的操作吧,当然,数据太多时候呢还是最好建立自己的数据库,上传数据,这样,我们的一次爬虫更新数据就完成了,是不是很简单

猜你喜欢

转载自www.cnblogs.com/gujianjian/p/12738518.html
今日推荐