简介
简单讲一下怎么把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下
喜欢可以关注【小猪课堂】公众号了解更多编程小技巧