【Python 】 Json文件解析与读写至DataFrame

简介
简单讲一下怎么把txt文件中的json格式文件导入到python中,同时转为Data Frame形式的数据框。

以方便后续进行数据分析。

概念理解

1、json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串)
  (1)json.dumps()函数是将一个Python数据类型列表进行json格式的编码(可以这么理解,json.dumps()函数是将字典转化为字符串)
  (2)json.loads()函数是将json格式数据转换为字典(可以这么理解,json.loads()函数是将字符串转化为字典)

2、json.dump()和json.load()主要用来读写json文件函数

环境介绍

系统环境:Windows 10

Python版本:Python 3.5

GUI:Anaconda Spyder

必备库:pandas, json

代码及解释

代码及解释
如果你的txt中只有一个json对象,那么用以下的语法就可以:

import pandas as pd
import json
 
# 读取只包含一个json对象文件的txt

path = 'C:/Users/your_file_path/data.txt'
file = open(path,'r')
js = file.read()
 
data_list = json.loads(js)
data_df = pd.DataFrame(data_list,index = [0])

如果你的txt文件中包含了多个json对象文件。
那么,你就需要新建一个空的dataframe,然后逐行读取为json文件,并将结果插入dataframe中。代码如下:

import pandas as pd
import json
 
# 读取含有所有行的txt文件在这里插入代码片
# 读取json中的各个行
path = 'C:/Users/your_file_path/data.txt'
file = open(path,'rb')
 
js = file.read().decode('utf-8')
type(js)
 
df_empty = pd.DataFrame()
 
for line in open(path, encoding='UTF-8'): 
    data_list = json.loads(line)                 # 读取每一行,将每一行读取成为json文件
    data_df = pd.DataFrame(data_list, index=[0]) # 将每一行转成data frame的形式
    df_empty = df_empty.append(data_df)          # 将每一行转化append添加到原来空的data frame下

喜欢可以关注【小猪课堂】公众号了解更多编程小技巧

你可能感兴趣的:(Python数据清洗)