【Python小程序】第3讲:如何将json数据转换成csv格式?
机器学习训练营——机器学习爱好者的自由交流空间(入群联系qq:2279055353)
JSON介绍
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,方便人们阅读和编写。任何支持的数据类型都可以通过json来表示,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且常用的两种类型,其特点是:
对象表示为键值对
数据由逗号分隔
花括号保存对象
方括号保存数组
JSON 键值对是用来保存 JS 对象的一种方式。键/值对组合中的键名写在前面并用双引号 “” 包裹,使用冒号 : 分隔,然后紧接着值,例如:
{"firstName": "Json"}
JSON转成CSV
通常,数据文件是CSV格式的,即,数据之间用逗号分隔的形式。因此,当一个数据文件里有json变量时,需要先将这些变量转换成规则的csv格式,然后再加载统一成csv格式的数据集。
load_df()函数
自定义的函数load_df(), 实现转换json, 加载csv数据集的作用。
import os
import json
import numpy as np
import pandas as pd
from pandas.io.json import json_normalize
def load_df(csv_path='../input/train.csv', nrows=None):JSON_COLUMNS = ['device', 'geoNetwork', 'totals', 'trafficSource']df = pd.read_csv(csv_path, converters={column: json.loads for column in JSON_COLUMNS}, dtype={'fullVisitorId': 'str'}, # Important!!nrows=nrows)for column in JSON_COLUMNS:column_as_df = json_normalize(df[column])column_as_df.columns = [f"{column}.{subcolumn}" for subcolumn in column_as_df.columns]df = df.drop(column, axis=1).merge(column_as_df, right_index=True, left_index=True)print(f"Loaded {os.path.basename(csv_path)}. Shape: {df.shape}")return df
数据实践
加载前的数据集
这里的变量’device’, ‘geoNetwork’, ‘totals’, 'trafficSource’是json类型。
加载后的数据集
更多精彩内容请关注微信公众号“统计学习与大数据”
【Python小程序】第3讲:如何将json数据转换成csv格式?相关推荐
- python日历小程序_一个查看网络设备信息Python小程序
原标题:一个查看网络设备信息Python小程序 网络编程中,最常见的一个问题就是,获取设备信息. 首先我们,要学习如何获取本机的网络信息.我们将用到标准库中的socket库.假如说,我们要查看本机的 ...
- 简单的python小程序祝福母亲,母亲节快乐!
简单的python小程序祝福母亲,母亲节快乐! 今天是星期天,也是母亲节, 不禁意识到二十二岁的我如此年轻,四十多岁的母亲似乎不再年轻. 今天编写了一个简单的python小程序. 代码如下,仅供参考. ...
- python3经典小程序代码_一个可以套路别人的python小程序实例代码
python可以开发什么?谁有python小程序的源代码,...桌面程序,web都可以,还有比如现在讲的多的人工智能,神经网络源码可以去找一些开源代码,搜索一下,蛮多的. 分享python小程序代码练 ...
- python恶搞小程序-有趣的python小程序
有趣的python小程序 1.密码生成器x=int(input()) print(''.join(__import__('random').choice('QWERTYUIOPASDFGHJKLZXC ...
- 几个python小程序
python小程序 1-100求和 1 def Sum(x, y): 2 return x+y 3 print reduce(lambda x,y:x+y,range(1,101)) 4 5 i = ...
- 人工智能python小程序_Python:一个可以套路别人的python小程序
一个可以套路别人的python小程序~ 先简要介绍一下程序. 程序是使用pycharm工具,python语言所写.程序包括客户端 client.py 和服务器端 server.py 两部分,利用了py ...
- python如何运行一个python程序_python如何运行?第一个python小程序示范
我们想要用python编程首先要做的就是安装一些工具,随后学会应用.那么问题来了,我们需要安装什么?python又是怎样运行的呢? 安装什么工具? 1.Python 3.6.5(我安装的,还有很多版本 ...
- 有趣的python小程序
有趣的python小程序 1.密码生成器 x=int(input()) print(''.join(__import__('random').choice('QWERTYUIOPASDFGHJKLZX ...
- python有趣小程序代码-一个可以套路别人的python小程序实例代码
先简要介绍一下程序. 程序是使用pycharm工具,python语言所写.程序包括客户端 client.py 和服务器端 server.py 两部分,利用了python中的socket包. 咳咳,使用 ...
- 有趣python小程序系列之一
文章目录 前言 一.飘落的银杏 二.代码部分 1.导入所需的库 2.生成斐波那契数列 3.定义生成叶子的方法 4.定义生成树的方法 5.主函数部分 三.结果展示 前言 关于学python的初衷,如图, ...
最新文章
- [蓝桥杯][历届试题]网络寻路(DFS)
- 什么是互联网大厂_2020阿里、腾讯、字节跳动等14家互联网大厂薪资水平大汇总...
- 【Win 10 应用开发】分析 URI 中的查询字符串
- 从一个实例看编程水平的步步提高
- 领导再也不会因为模型刷新不出来批评我啦---论IE扩内存(转载)
- centos yum 安装mysql
- WinForm 实例教程 通讯录 视频教程 入门教程
- C++两个类互相引用,如何处理最好
- [012计算机网络系列] | Cisco packet 怎样清空一台PC的ARP Table?
- 电商运营分享:关于双11的淘宝客无节操赚钱干货
- SSH内网能连通外网连接时拒绝
- android o 结构光流程,OPPO 3D结构光技术完成,下半年实现量产,O粉们期待吗?
- jmeter阶梯式加压(逐渐加压和降压)
- 基于802.1x协议的接入认证简单实现
- MySQL的下载和配置
- Kubernetes 笔记 06 豌豆荚之旅(一)
- Android 打飞机小游戏 cocos2d
- 做一个简易计算器(VB版)
- ThinkPad应用软件操作指南
- 实现厕所门锁智能化,案使用涂鸦 Zigbee 模组作为主控,功耗低,效率高(内涵原理图)