【问题标题】:API JSON to CSV or Google SheetsAPI JSON 到 CSV 或 Google 表格
【发布时间】:2023-04-03 10:45:01
【问题描述】:

我想使用 API 对 csv(或 google sheet)中的值进行排序。但我对 JSON=0 的了解。我不确定如何检索正确的数据。 我也不知道如何排序 JSON (xD)

import json
import requests
import csv

api_key = "https://api.blablablbla"

r = requests.get('https://api.blablablbla')
packages_json = r.json()

应按标题名称排序:项目编号、项目名称等,行应为与标题对应的“值”。我觉得数据的输入并不完美。输入如下(解析):

{
"results": [
{
"submittedAt": 1614950496814,
"values": [
{
"name": "projectnumber?",
"value": "123",
"objectTypeId": "0-1"
},
{
"name": "project name?_",
"value": "Project X",
"objectTypeId": "0-1"
},
{
"name": "email",
"value": "abc@123.com",
"objectTypeId": "0-1"
},
{
"name": "firstname",
"value": "James",
"objectTypeId": "0-1"
},
{
"name": "lastname",
"value": "Bond",
"objectTypeId": "0-1"
},
{
"name": "Are you available?_",
"value": "Maybe later",
"objectTypeId": "0-1"
},
{
"name": "Send reminder?_",
"value": "Yes",
"objectTypeId": "0-1"
},
{
"name": "form filled in by",
"value": "Jimmy",
"objectTypeId": "0-1"
}
],
"pageUrl": "https://share.hsforms.com/.........."
},

第二个1:

{
"submittedAt": 1614943909980,
"values": [
{
"name": "projectnumber?",
"value": "1234",
"objectTypeId": "0-1"
},
{
"name": "project name?",
"value": "XYZ",
"objectTypeId": "0-1"
},
{
"name": "email",
"value": "bca@bobs.nl",
"objectTypeId": "0-1"
},
{
"name": "firstname",
"value": "Jan",
"objectTypeId": "0-1"
},
{
"name": "lastname",
"value": "de Vries",
"objectTypeId": "0-1"
},
{
"name": "Are you available?",
"value": "maybe later",
"objectTypeId": "0-1"
},
{
"name": "Send reminder",
"value": "yes",
"objectTypeId": "0-1"
}
],
"pageUrl": "https://share.hsforms.com/........."
},

救命!

【问题讨论】:

  • 这似乎是一个 python 问题:如何对这个结构进行排序?它是来自 JSON 还是其他格式都没有关系。 (顺便说一句,您还没有添加 python 标签)。另外你为什么提到谷歌表格?你想达到什么目的?

标签: json csv sorting google-sheets


【解决方案1】:

我认为在这个解决方案中,但如果我知道上下文,那么可能会更准确。首先,您应该收到要插入值的位置的参数。例如,您使用 google sheet API 的 json 将是这样的:

    {
       "connection":{
          "workbookID": "ABC",
          "sheetName": "ABC"
       }
       "values": [
       {
          "name": "column1",
          "values": ["rowA", "rowB", "rowC"]
       },
       {
          "name": "column2",
          "values": ["rowA", "rowB", "rowC"]
       }]
    }

以同样的方式,您可以更改连接以获取 CSV 参数并在其上分配值。 然后您可以将值读取为数组并插入它们而不会复杂。

【讨论】:

    猜你喜欢
    • 2022-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-26
    • 2015-12-10
    • 2012-07-06
    • 1970-01-01
    • 2019-06-21
    相关资源
    最近更新 更多