ermutuxia

2021-03-26   阅读量: 458

Python

如何把一个脏乱的json文件借助pd.read_json命令整理成一个标准的数据框?

扫码加入数据分析学习群

如何把一个脏乱的json文件借助pd.read_json命令整理成一个标准的数据框?

这里给大家上传一个真实的数据情况(已经经过脱敏和截取处理)

0323.txt

3.png

如何将数据导入后变成如下这种格式?

0.png

感兴趣的同学可以做一下


我这里把我写的代码给大家看一下

import pandas as pd


#读入数据,由于这个log文件格式比较特殊,不能用pd.read_json命令导入,需要用open导入成字符串然后进行处理

#注意open函数的第一个参数不能是一个网址,必须是一个文件才行

f1=open(r"D:\python课程\数据清洗(5)\pandas\0323.txt",encoding="utf-8")

#str1就是我们的文件内容,是一个大字符串

str0=f1.read()

str0

#把\n\t变成逗号

str1=str0.replace("\n\t",",")

str1

#把双逗号变成一个逗号 #这个地方需要注意,因为数据的异常情况比较特殊

str2=str1.replace(",,",",")

str2

str3=str2.replace("\n","")

str3

str4=str3.replace("\ufeff","")

str4

#把字符串中的//加一个数字变成逗号

import re

pattern1=re.compile("// \d+")

str5=re.sub(pattern1,",",str4)

#把中文冒号变成英文冒号

str6=str5.replace(":",":")


#接下来把字符开头第一个逗号去掉

pattern2=re.compile("^,")

str7=re.sub(pattern2,"",str6)



#把两个双引号替换为一个双引号

pattern3=re.compile("\"{2}")

str8=re.sub(pattern3,"\"",str7)

#用中括号将字符串两边包裹起来

str9='['+str8+']'

str9

df1=pd.read_json(str9,orient="records")

df1.to_excel("D:\\临时.xlsx")


2.8473 2 0 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子