首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Python根据节点值将json拆分为单独的json。

Python根据节点值将json拆分为单独的json。
EN

Stack Overflow用户
提问于 2022-07-08 07:13:44
回答 1查看 567关注 0票数 0

使用python,我想根据transactionTypeName中的“transacations.details”将一个json文件分割成多个文件。在每个文件中,我希望从照顾者到用户名开始提供其余的详细信息。下面是json文件。必须清理这些价值。在密码方面需要帮助。提前谢谢。

我知道如何使用json.loads读取json节点。但不知道该怎么分手。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 {
    "careperson": {
        "FirstName": "tryy",
        "LastName": "dbdfb"
    },
    "activityDate": "2000-06-14T15:35:00",  
    "locationAddress": {
        "Address1": "123g hrtjrtt",
        "City": "Turrty",
        "State": "AF",
        "Zip": "56577"
    },  
    "siteName": "Trwtyjj",
    "transactions": [
        {
            "details": [
                {
                    "expiration": "2002-08-03T23:59:59",
                    "to_sitelocationId": 0
                }
            ],
            "transactionType": 6,
            "transactionTypeName": "Can"
        },
        {
            "details": [
                {
                    "expiration": "2002-08-03T23:59:59",                    
                    "to_sitelocationId": 0
                }
            ],
            "transactionType": 6,
            "transactionTypeName": "Worm"
        },
        {
            "details": [
                {
                    "expiration": "2002-08-03T23:59:59",
                    "to_sitelocationId": 0
                }
            ],
            "transactionType": 6,
            "transactionTypeName": "Use"
        }
    ],
    "sbscrberId": 3344,
    "sbscrber": "sdg"
}

我想让它像这样分开。基本上,“可以”、“蠕虫”和“使用”将是单独的文件。下面是“蠕虫”的预期输出。"Can“和"Use”看起来类似。在本例中,有3个transactionTypes,但是可以为其他文件提供更多内容,所以我想使它成为动态的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    "careperson": {
        "FirstName": "tryy",
        "LastName": "dbdfb"
    },
    "activityDate": "2000-06-14T15:35:00",  
    "locationAddress": {
        "Address1": "123g hrtjrtt",
        "City": "Turrty",
        "State": "AF",
        "Zip": "56577"
    },  
    "siteName": "Trwtyjj",
    "transactions": [
        {
            "details": [
                {
                    "expiration": "2002-08-03T23:59:59",
                    "to_sitelocationId": 0
                }
            ],
            "transactionType": 6,
            "transactionTypeName": "Worm"
        }
    ],
    "sbscrberId": 3344,
    "sbscrber": "sdg"
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-08 21:09:37

正如Kevin所说,循环处理每一笔交易是最好的。这一进程将是:

通过每个transaction.

  • Record循环每个JSON的键值对到临时的JSON object.

  • Override‘transaction’键,只包含一个事务对象。

  • 使用'json.dump‘Write JSON Object to a file将临时对象写入文件。然后循环执行,直到所有事务都被拆分为止。

这可以通过将从文件读取的JSON复制到一个临时对象来简化。

在Python 3中,如下所示(添加了注释来解释每一步):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import json
# Load JSON data from a file into object
fileRead = open('test.json', 'r')
jsonContent = json.load(fileRead)
fileRead.close()

# Loop through each transaction read from the file (3 in the example)
for transaction in jsonContent['transactions']:
    jsonFileContent = {}
    
    # Loop through each json key value pair read from the object.
    for key, value in jsonContent.items():
        if key == 'transactions':
            # Override 'transactions' key with the single value that was generated from the first loop
            # Initialize empty List
            jsonFileContent["transactions"] = []
            # Add Transaction to list
            jsonFileContent["transactions"].append(transaction)
        else:
            # Write key value pair to a temporary object
            jsonFileContent[key] = value
            
    # Write all contents to file a file 'transactionTypeName'.json (e.g. 'can.json')
    fileWrite = open(jsonFileContent['transactions'][0]['transactionTypeName']+'.json', 'w')
    json.dump(jsonFileContent, fileWrite)               
    fileWrite.close()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72913506

复制
相关文章
URL编码
URL 编码的规则:简单来说,如果需要对一个字符进行 URL 编码,首先需要判断该字符是否是 ASCII 字符:
真正的飞鱼
2023/02/04
2.8K0
URL编码
人需要真理,就像瞎子需要明快的引路人一样。──高尔基 // URL编码 String encode = URLEncoder.encode("你好,世界", Encoder.UTF_8); System.out.println(encode); // URL解码 String decode = URLDecoder.decode(encode, Encoder.UTF_8); System.out.println(decode); 运行结果
阿超
2022/08/16
1.4K0
URL编码
html url编码、url解码
encodeURIComponent()编码的解码函数为 decodeURIComponent(),
全栈程序员站长
2022/07/19
4.8K0
html url编码、url解码
关于URL编码
一般来说,URL只能使用英文字母、阿拉伯数字和某些标点符号,不能使用其他文字和符号。比如,世界上有英文字母的网址"http://www.abc.com",但是没有希腊字母的网址"http://www.aβγ.com"(读作阿尔法-贝塔-伽玛.com)。这是因为网络标准RFC 1738做了硬性规定:
ruanyf
2018/09/21
1.8K0
关于URL编码
中文URL编码
URL编码是一个比较麻烦的事情,RFC 3986是关于URI的一个标准,在它的第2节定义了字符如何在URI中进行表示,而第3节把一个URI区分为scheme, hier-part, query, fragment几个component。根据这个RFC,A URI is composed from a limited set of characters consisting of digits, letters, and a few graphic symbols. 附录A中给出了ABNF定义。 比如URL,
用户1258909
2018/07/03
2.7K0
URL 如何编码
URL编码通常也被称为百分号编码(percent-encoding),是因为它的编码方式非常简单: 使用%加上两位的字符——0123456789ABCDEF——代表一个字节的十六进制形式。URL编码要做的,就是将每一个非安全的ASCII字符都被替换为“%xx”格式, 对于非ASCII字符,RFC文档建议使用utf-8对其进行编码得到相应的字节,然后对每个字节执行百分号编码。 如"中文"使用UTF-8字符集得到的字节为0xE4 0xB8 0xAD 0xE6 0x96 0x87,经过Url编码之后得到"%E4%B8%AD%E6%96%87"。
用户8983410
2021/10/08
1.8K0
Python url编码以及反编码
有时候通过浏览器传递过来的数据,经过url编码之后,就无法直接处理了。 需要进行反编码之后才能获取正确的结果。
Devops海洋的渔夫
2019/05/31
2.4K0
URL汉字编码
一、问题的由来 URL就是网址,只要上网,就一定会用到。 一般来说,URL只能使用英文字母、阿拉伯数字和某些标点符号,不能使用其他文 字和符号。比如,世界上有英文字母的网址 “http://www.abc.com”,但是没有希腊字母的网址“http://www.aβγ.com”(读作阿尔法-贝塔-伽玛.com)。这是 因为网络标准RFC 1738 做了硬性规定: "...Only alphanumerics [0-9a-zA-Z], the special characters "$-_.+!*'()
wangxl
2018/03/07
3K0
URL汉字编码
【基础进阶】URL详解与URL编码
作为前端,每日与 URL 打交道是必不可少的。但是也许每天只是单纯的用,对其只是一知半解,随着工作的展开,我发现在日常抓包调试,接口调用,浏览器兼容等许多方面,不深入去理解URL与URL编码则会踩到很多坑。故写下此篇文章,详解一下 URL 。 URL 与 URI 很多人会混淆这两个名词。 URL:(Uniform/Universal Resource Locator 的缩写,统一资源定位符)。 URI:(Uniform Resource Identifier 的缩写,统一资源标识符)。 关系: URI
Sb_Coco
2018/05/28
4.4K0
认识 URL 及其编码
URL(Uniform Resoure Locator)中文译为统一资源定位符,是 Internet 上资源的地址,比如一个文本文件,一张图片,一个视频。通过 URL 我们可以知道网络资源的位置以及访问它的协议。
恋喵大鲤鱼
2020/05/22
2.7K0
URL编码和Base64编码
在理清字符集和字符编码关系一文中我们介绍了常见字符集以及字符编码之间的关系,本期我们继续朝着这个方向介绍常见的编码算法。 URL编码 URL编码是浏览器发送数据给服务器时使用的编码,它是编码算法,而不
木可大大
2018/07/25
3.4K0
URL编码和Base64编码
c语言opencv读取图像_matlab读取一幅图像并显示
专栏地址:『youcans 的 OpenCV 例程300篇 – 总目录』 01. 图像的读取(cv2.imread) 02. 图像的保存(cv2.imwrite) 03. 图像的显示(cv2.imshow) 04. 用 matplotlib 显示图像(plt.imshow)
全栈程序员站长
2022/09/27
1.8K0
URL处理----拼接和编码
        前几天想爬取一个用户网站自动创建每个用户的资料方便注册一些账号,想写一个通用点的爬虫程序爬取只要配置一些爬取规则、爬取深度就ok,避免代码改动,由于时间关系只完成的个半成品,后面在考虑是用xml文件作为配置文件,还是简单的使用.ini文件,后者虽然简单但局限性太大,所以,,,偷几天懒顺便重新考虑下逻辑。
py3study
2020/01/19
1.4K0
URL编码中的空格(编码以后变为+)
最近测试MM反映查看Log的时候会在有些请求中看到“+”,但是最后的结果却没有问题。当时感觉很诡异,走读代码定位发现是因为调用了java.net.URLEncoder的方法出现。后来研究发现才发现没这么简单啊。 总结:在HTML4.0.1中,基于RFC-1738标准,‘ ’在URL编码以后为 ‘+’,只有JS中由于基于RFC-2396标准,‘ ’在URL编码以后为‘%20’。 java代码: 代码片段: String tempString = "Hello, World!"; Stri
子勰
2018/05/22
3.2K0
url编码,只对汉字有效
public static String toUtf8String(String s) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); if (c >= 0 && c <= 255) { sb.append(c); } e
JQ实验室
2022/02/10
1.1K0
python中文转换url编码
        今天要处理百度贴吧的东西。想要做一个关键词的list,每次需要时,直接添加 到list里面就可以了。但是添加到list里面是中文的情况(比如‘丽江’),url的地址编码却是'%E4%B8%BD%E6%B1%9F',因此需 要做一个转换。这里我们就用到了模块urllib。 >>> import urllib >>> data = '丽江' >>> print data 丽江 >>> data '\xe4\xb8\xbd\xe6\xb1\x9f' >>> urllib.quote(data) '%E4%B8%BD%E6%B1%9F' 那我们想转回去呢? >>> urllib.unquote('%E4%B8%BD%E6%B1%9F') '\xe4\xb8\xbd\xe6\xb1\x9f' >>> print urllib.unquote('%E4%B8%BD%E6%B1%9F') 丽江 细心的同学会发现贴吧url中出现的是%C0%F6%BD%AD,而非'%E4%B8%BD%E6%B1%9F',其实是编码问题。百度的是gbk,其他的一般网站比如google就是utf8的。所以可以用下列语句实现。 >>> import sys,urllib >>> s = '丽江' >>> urllib.quote(s.decode(sys.stdin.encoding).encode('gbk')) '%C0%F6%BD%AD' >>> urllib.quote(s.decode(sys.stdin.encoding).encode('utf8')) '%E4%B8%BD%E6%B1%9F' >>>
py3study
2020/01/06
4.1K0
SSRF漏洞的URL编码
虽然知道什么是 URL编码 ,之前也学习过 SSRF漏洞 ,但是对 SSRF漏洞 中要进行一次URL编码或者两次URL编码甚是疑惑。 相信很多如我一般初学的小伙伴也有此疑惑。因此,特意学习探讨,于此总结。
cultureSun
2023/07/24
4070
SSRF漏洞的URL编码
图像行程编码
算法:图像行程编码是将一扫描行中颜色值相同的相邻像素用两个字段表示,第一个字段是一个计数值,用于指定像素重复的次数;第二个字段是具体像素的值,主要通过压缩除掉数据中的冗余字节或字节中的冗余位,从而达到减少文件所占空间的目的。
裴来凡
2022/05/29
5030
图像行程编码
url编码本质
其实url本质就是将中文字符串进行utf8编码,然后得到编码后的对象转换字符串去掉开头的b'以及末尾的',然后再将\x转换成%,再将里面内容x变成e最后将字符串小写变成大写
小小咸鱼YwY
2020/06/19
1.2K0
URL编码(LintCode刷题)
原题目如下 给出一个代表网址 host 的字符串 base_url,和代表查询参数的数组 query_params,你需要返回带查询参数的完整 URL。 查询参数由一些包含两个元素的数组组成,第一
兰舟千帆
2022/07/16
9180

相似问题

从互联网源编码一幅圆圆图像

37

从空格编码图像URL

35

FFMPEG H264编码每一幅图像

10

从url编码图像不起作用

15

从另一幅图像中减去一幅图像(剔除/排除) (ImageMagick)

25
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文