CSV文件中json列的处理2

发布时间:2024年01月18日

如上所示,csv文件中包含以中括号{}包含的json字段,可用如下方法提取:

import pandas as pd
from datetime import date
today=str(date.today())
import json

filepath='/Users/kangyongqing/Documents/kangyq/202401/调课功能使用统计/'
file1='04老师调课明细数据.csv'

df1=pd.read_csv(filepath+file1,dtype='object')
print(df1.head(1).T)

# json.load():是从文件中加载内容并转换成json;
# json.loads():是将字符串转换成json。

tmp1=pd.json_normalize(df1['operatereason'].apply(json.loads).tolist())
tmp2=pd.json_normalize(df1['info'].apply(json.loads).tolist())
print(tmp1)
df2=pd.concat((df1,tmp1,tmp2),axis=1)
print(df2.head(1).T)

df3=pd.concat((df1.drop(columns=['operatereason','info']),tmp1,tmp2),axis=1)
print(df3.columns)
#删除原数据列

划重点:

tmp1=pd.json_normalize(df1['operatereason'].apply(json.loads).tolist())
df2=pd.concat((df1,tmp1,tmp2),axis=1)

即可提取出特定列包含的子字段数据;

结果如下:

文章来源:https://blog.csdn.net/Darin2017/article/details/135668760
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。