python对dataframe中series的json格式解析
方法1:如果df里只有一列json格式,可以保存为txt,然后再删掉列名,在进行处理。
import pandas as pdresult = []
with open(r"C:\Users\Administrator\Desktop\json处理.txt") as f:for line in f:print(line) # txt样子line = line.replace('""','"')line = line.replace('"{','{')line = line.replace('}"','}')
# print(line) # 处理后的linedict_o = eval(line.strip()) #eval:将字符串字典转换为字典,strip:将某行字的两端空格去掉result.append(dict_o)
df = pd.DataFrame(result)
df
txt 内容
{""imei"":""5gy5"",""deviceid"":""c5ty7890h"",""accid"":""null""}{"imei":"5gy5","deviceid":"c5ty7890h","accid":"null"}{""imei"":""5rrr5"",""createtime"":""c5ty7890h"",""accid"":""null""}{"imei":"5rrr5","createtime":"c5ty7890h","accid":"null"}{""appid"":""5eeey5"",""deviceid"":""c5ty7890h"",""createtime"":""c5ty7890h"",""accid"":""null""}{"appid":"5eeey5","deviceid":"c5ty7890h","createtime":"c5ty7890h","accid":"null"}{""imei"":""null"",""deviceid"":""c544ty7890h"",""accid"":""null""}{"imei":"null","deviceid":"c544ty7890h","accid":"null"}
结果输出:
imei | deviceid | accid | createtime | appid | |
---|---|---|---|---|---|
0 | 5gy5 | c5ty7890h | null | NaN | NaN |
1 | 5gy5 | c5ty7890h | null | NaN | NaN |
2 | 5rrr5 | NaN | null | c5ty7890h | NaN |
3 | 5rrr5 | NaN | null | c5ty7890h | NaN |
4 | NaN | c5ty7890h | null | c5ty7890h | 5eeey5 |
5 | NaN | c5ty7890h | null | c5ty7890h | 5eeey5 |
6 | null | c544ty7890h | null | NaN | NaN |
7 | null | c544ty7890h | null | NaN | NaN |
方法2
import json
import pandas as pd
df = pd.read_excel(r"C:\Users\Administrator\Desktop\json处理.xlsx")
print(df)
data = df.to_dict(orient='records')
for _ in data:_.update(json.loads(_['json']))del _['json']df1 = pd.DataFrame(data)
df1
原表
城市 json
0 重庆 {"imei":"5gy5","deviceid":"c5ty7890h","accid":...
1 北京 {"imei":"5gy5","deviceid":"c5ty7890h","accid":...
2 上海 {"imei":"5rrr5","createtime":"c5ty7890h","acci...
3 广州 {"imei":"5rrr5","createtime":"c5ty7890h","acci...
4 深圳 {"appid":"5eeey5","deviceid":"c5ty7890h","crea...
5 地球 {"appid":"5eeey5","deviceid":"c5ty7890h","crea...
6 火星 {"imei":"null","deviceid":"c544ty7890h","accid...
7 太阳星 {"imei":"null","deviceid":"c544ty7890h","accid...
结果输出:
城市 | imei | deviceid | accid | createtime | appid | |
---|---|---|---|---|---|---|
0 | 重庆 | 5gy5 | c5ty7890h | null | NaN | NaN |
1 | 北京 | 5gy5 | c5ty7890h | null | NaN | NaN |
2 | 上海 | 5rrr5 | NaN | null | c5ty7890h | NaN |
3 | 广州 | 5rrr5 | NaN | null | c5ty7890h | NaN |
4 | 深圳 | NaN | c5ty7890h | null | c5ty7890h | 5eeey5 |
5 | 地球 | NaN | c5ty7890h | null | c5ty7890h | 5eeey5 |
6 | 火星 | null | c544ty7890h | null | NaN | NaN |
7 | 太阳星 | null | c544ty7890h | null | NaN | NaN |
方法3,取json的固定字段
import json
import pandas as pd
df = pd.read_excel(r"C:\Users\Administrator\Desktop\json处理.xlsx")
print(df)
tmp=[]
for line in df.json.values:
# d=eval(line)[0] d=eval(line)tmp.append(d.get('imei') or d.get('deviceid'))# tmp.append(d.get('xx')['yy']) #如果是嵌套字典,就用此方法
df['结果列']=tmp
df
原表
城市 json
0 重庆 {"imei":"5gy5","deviceid":"c5ty7890h","accid":...
1 北京 {"imei":"5gy5","deviceid":"c5ty7890h","accid":...
2 上海 {"imei":"5rrr5","createtime":"c5ty7890h","acci...
3 广州 {"imei":"5rrr5","createtime":"c5ty7890h","acci...
4 深圳 {"appid":"5eeey5","deviceid":"c5ty7890h","crea...
5 地球 {"appid":"5eeey5","deviceid":"c5ty7890h","crea...
6 火星 {"imei":"null","deviceid":"c544ty7890h","accid...
7 太阳星 {"imei":"null","deviceid":"c544ty7890h","accid...
结果输出:
城市 | json | 结果列 | |
---|---|---|---|
0 | 重庆 | {"imei":"5gy5","deviceid":"c5ty7890h","accid":... | 5gy5 |
1 | 北京 | {"imei":"5gy5","deviceid":"c5ty7890h","accid":... | 5gy5 |
2 | 上海 | {"imei":"5rrr5","createtime":"c5ty7890h","acci... | 5rrr5 |
3 | 广州 | {"imei":"5rrr5","createtime":"c5ty7890h","acci... | 5rrr5 |
4 | 深圳 | {"appid":"5eeey5","deviceid":"c5ty7890h","crea... | c5ty7890h |
5 | 地球 | {"appid":"5eeey5","deviceid":"c5ty7890h","crea... | c5ty7890h |
6 | 火星 | {"imei":"null","deviceid":"c544ty7890h","accid... | null |
7 | 太阳星 | {"imei":"null","deviceid":"c544ty7890h","accid... | null |
python对dataframe中series的json格式解析相关推荐
- python json转xml_Python中xml和json格式相互转换操作示例
本文实例讲述了Python中xml和json格式相互转换操作.分享给大家供大家参考,具体如下: Python中xml和json格式是可以互转的,就像json格式转Python字典对象那样. xml格式 ...
- Node.js:项目中的 package.json 格式
1. node.js 项目包下的 package.json : 实例: {"name" : "chatroooms","version" : ...
- Python的DataFrame中筛选满足某列的值在指定数值内的行
Python的DataFrame中筛选满足某列的值在指定数值内的行 以dataframe对象df1为例,选取所有满足A列的值在[1,2,3,4]的行. 语法为df1[ df1['A'].isin([1 ...
- 新浪微博数据Json格式解析
2019独角兽企业重金招聘Python工程师标准>>> Json格式解析 json结构的格式就是若干个 键/值(key, value) 对的集合,该集合可以理解为字典(Diction ...
- c语言组json包,json格式解析和libjson的用法介绍(关于cjson的使用方法)
在阅读本文之前,请先阅读下<Rss Reader实例开发之系统设计>一文. Rss Reader实例开发中,进行网络数据交换时主要使用到了两种数据格式:JSON与XML.本文主要介绍JSO ...
- JSON格式解析和libjson使用简介-转
Rss Reader实例开发中,进行网络数据交换时主要使用到了两种数据格式:JSON与XML.本文主要介绍JSON格式的简单概念及JSON在Rss Reader中的应用. JSON格式解析和libjs ...
- 困扰:微信开发 安卓和IOS下 对JSON格式解析 导致苹果手机sinature签名无效的问题
该问题已解决,只是不知道是什么原因导致的. 在做微信开发的时候,我一直使用安卓来测试的,最后用到苹果手机的时候,发现,所有的微信接口都调用失败了,查阅了许多资料,官方说明的是对于卡卷的接口,有特殊的需 ...
- 【DS with Python】 Pandas中Series DataFrame的结构、创建、查询、修改语法与实例
文章目录 前言 一.Series结构与应用 1.1 Series的构造 1.2 创建Series 1.2.1 可用于创建Series的类型 1.2.2 三种设置index的方法 1.2.3 Serie ...
- python类型转换异常_python知识:json格式文本;异常处理;字符串处理;unicode类型和str类型转换...
python进程中的实例和json格式的字符串之间的映射关系是非常直接的,相当于同一个概念被编码成不同的表示: stream in json form ----json.loads(str)----- ...
最新文章
- 后缀数组 ---- 2018~2019icpc焦作H题[后缀数组+st表+二分+单调栈]
- linux安装jdk1.7
- 马尔代夫旅游选岛全功略
- osg专业名词:LOD、数据分页、动态调度
- Centos7 安装Rabbitmq-server和Erlang 仓库汇总
- 【测试工具】在linux测试环境访问禅道数据库
- ubuntu 1604搭建hdp2.4 Hadoop
- 11G新特性 -- variable size extents
- docker相关配置
- SqlServer性能检测之Sql语句排查
- ASP.NET 分页技术
- 计算机ping使用的端口,mac系统ping端口命令怎么使用
- Android加载3D模型的学习笔记
- linux系统与window区别,linux系统和windows系统的区别是什么?
- CF1139C Edgy TreesDFS求连通块大小、思维
- Windows 10 Mscomctl.ocx缺失解决方法
- matlab非平稳信号小波和FFT去噪
- mysql table plugin,MySql报错Table mysql.plugin doesn’t exist的解决方法
- 树莓派体验1 - 初次启动树莓派
- 三极管工作原理_「硬见小百科」半导体三极管的工作原理
热门文章
- 链游、元宇宙、GameFi和NFT之间的关系
- 学考计算机常见打字题,信息技术学考复习题及答案.doc
- excel宏字符串连接mysql_EXCEL 连接字符串 MYSQL
- 《从Docker到Kubernetes》总结二:Docker相关知识简述
- Aspose.Imaging for java 22.9最新版
- Git使用(五):解决冲突以及如何避免冲突
- win10下gVim安装Vundle
- Lenovo ThinkPad SL400 XP系统中安装SATA驱动方法
- 【专业扫盲】集成电路领域的核心会议与期刊
- 概率密度函数(pdf)与概率质量函数(pmf)的区别