我有一段json数据,我想将它写入到excel中。
需要对message做去重处理,我没有想明白数据应该怎么样保存。
我的思路是这样,首先json数据保存到一个容器中,然后循环打印到excel。
那这个容器 应该用什么?
写入excel,我是用xlsxwriter,有什么算法可以横着打印吗?
写入的效果是这样
服务名:Lonsid_MallAssist_Web_Host
trace.id:a3e3796ca145b448829d0d0f96661e67
timestamp:2021-06-21T06:57:52.603Z
type:Abp.UI.UserFriendlyException
message:未发现该用户的WeiXinUserRelation,粉丝编号447519
trace.id:a3e3796ca145b448829d0d0f96661e67
timestamp:2021-06-21T06:57:52.603Z
type:Abp.UI.UserFriendlyException
message:未发现该用户的WeiXinUserRelation,粉丝编号447519
trace.id:a3e3796ca145b448829d0d0f96661e67
timestamp:2021-06-21T06:57:52.603Z
type:Abp.UI.UserFriendlyException
message:未发现该用户的WeiXinUserRelation,粉丝编号447519
{
[
{
"_source" : {
"error" : {
"exception" : [
{
"handled" : false,
"type" : "Abp.UI.UserFriendlyException",
"message" : "未发现该用户的WeiXinUserRelation,粉丝编号447519"
}
],
},
"trace" : {
"id" : "a3e3796ca145b448829d0d0f96661e67"
},
"@timestamp" : "2021-06-21T06:57:52.603Z",
"service" : {
"name" : "Lonsid_MallAssist_Web_Host",
}
}
},
{
"_source" : {
"error" : {
"exception" : [
{
"handled" : false,
"type" : "Abp.UI.UserFriendlyException",
"message" : "未发现该用户的WeiXinUserRelation,粉丝编号447519"
}
],
},
"trace" : {
"id" : "a3e3796ca145b448829d0d0f96661e67"
},
"@timestamp" : "2021-06-21T06:57:52.603Z",
"service" : {
"name" : "Lonsid_MallAssist_Web_Host",
}
}
},
{
"_source" : {
"error" : {
"exception" : [
{
"handled" : false,
"type" : "Abp.UI.UserFriendlyException",
"message" : "未发现该用户的WeiXinUserRelation,粉丝编号447519"
}
],
},
"trace" : {
"id" : "a3e3796ca145b448829d0d0f96661e67"
},
"@timestamp" : "2021-06-21T06:57:52.603Z",
"service" : {
"name" : "Lonsid_MallAssist_Web_Host",
}
}
}
]
}
最佳的效果是想打印成这样
可以通过字典非常简单的删除重复的内容,因为字典不允许重复键,如下所示:
te = [ { "Name": "Bala", "phone": "None" }, { "Name": "Bala", "phone": "None" }, { "Name": "Bala", "phone": "None" }, { "Name": "Bala", "phone": "None" }, { "Name": "Bala1", "phone": "None" } ] unique = { each['Name'] : each for each in te }.values() print unique
输出:
[{'phone': 'None', 'Name': 'Bala1'}, {'phone': 'None', 'Name': 'Bala'}]
容器
你如果需要持久化,就放到文本里,每次读出来,如果去重之后的数据,马上就写到excel里了,那就用临时缓存即可,不需要中途存储了。如果数据量非常大,就分片读取和处理。
[ {服务名: [{接口名: 123}, {接口名: 234}]} ]
我也就是想将json构建成这样的结构,就是这个构建思路没想明白。
一个json一条数据,整个json数组里面还有重复的service.name「上面的数据就是都一样」,如果service.name相同的话,需要归档到一个service.name下面,也就是最后那张图片那样。
1、先弄一个map,将相同
服务名
的归到里面2、然后依次去重
A = 【】 B =【】 C = 【】 ..... ..... .....
如果用服务名创建一个"容器",那后面我怎么将所有"容器"都打印出来呢? 程序是不知道有多少"容器"的
你的答案