如何在python3中忽略一些行来编写json文件?

2024-10-01 00:16:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用一个API:https://app.omie.com.br/developer

问题是我需要将请求放在一个循环中,以某些方法获取所有页面。当我转储这个文件时,我遇到了一个问题:json文件打开并关闭每个循环,所以我不能将它们全部放入一个文件中。你知道吗

有没有什么方法可以忽略每个json响应的第一行和最后一行?你知道吗

import requests
import json

response = str(requests.get('https://app.omie.com.br/api/v1/financas/contapagar/?JSON={"call":"ListarContasPagar","app_key":"1560731700","app_secret":"226dcf372489bb45ceede61bfd98f0f1","param":[{"pagina":1,"registros_por_pagina":20,"apenas_importado_api":"N"}]}'))
if response != "<Response [200]>":
    print("Invalid Data")
else:
    response = requests.get('https://app.omie.com.br/api/v1/financas/contapagar/?JSON={"call":"ListarContasPagar","app_key":"1560731700","app_secret":"226dcf372489bb45ceede61bfd98f0f1","param":[{"pagina":1,"registros_por_pagina":20,"apenas_importado_api":"N"}]}').json()
    for i in range(1, response["total_de_paginas"] + 1):
        response = requests.get('https://app.omie.com.br/api/v1/financas/contapagar/?JSON={"call":"ListarContasPagar","app_key":"1560731700","app_secret":"226dcf372489bb45ceede61bfd98f0f1","param":[{"pagina":%s,"registros_por_pagina":20,"apenas_importado_api":"N"}]}'%i).json()
        if i == 1:
            mode = "w"
        else:
            mode = "a"
        with open("resultado.json", mode) as rs:
            json.dump(response,rs, indent=4)
        with open("resultado.json", "a") as rs: #I added this line expecting that would help fixing my problem, but it didn't
            rs.write(",\n")
        print("Page completed: %s" %i)

Json文件的第一行和最后一行如下所示:

第一

{
    "registros": 20,
    "conta_pagar_cadastro": [

最后

    ],
    "total_de_paginas": 11,
    "total_de_registros": 215,
    "pagina": 1
},
{

其中最后一个“{”是下一页json响应的开始。你知道吗

我需要在运行代码时忽略这些行。 我该怎么做?你知道吗


Tags: 文件httpsbrcomapijsonappget