将多级JSON转换为csv或Excel

2024-04-29 18:47:07 发布

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

我正在尝试将一系列多级json数组转换为csv文件。我附带了一系列示例数组。理想情况下,此处的两个嵌套数组中的每一个都将在生成的csv文件中获得自己的行

我在Node.JS和Python中都尝试过解决方案,它们都编译过,但返回了空字符串。代码脚本和JSON文件位于同一文件夹中

我还尝试了一些用于此功能的在线工具,但它们似乎与这些JSON的结构不兼容

我错过了什么

尝试的Node.JS解决方案:

function ConvertToCSV(objArray) {
    var array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray;
    var str = '';

    for (var i = 0; i < array.length; i++) {
        var line = '';
        for (var index in array[i]) {
            if (line != '') line += ',';

            // If array[i][index] is an object then we loop over its properties
            // And add it to the CSV string in a similar manner
            if (typeof array[i][index] === 'object') {
                var inner_obj = array[i][index];

                for (var index1 in inner_obj) {
                    if (line != '') line += ','

                    line += '"' + inner_obj[index1] + '"';
                }
            } else {
                line += '"' + array[i][index] + '"';
            }
        }

        str += line + '\r\n';
    }
    return str;
}

var readJson = (path, cb) => {
    fs.readFile(require.resolve(path), (err, data) => {
      if (err)
        cb(err)
      else
        cb(null, JSON.parse(data))
    })
  }

var json = require('./test3.json');

ConvertToCSV(json);

尝试的Python解决方案:

import csv
import json

infile = open("test2.json", "r")
outfile = open("test2.csv", "w")

writer = csv.writer(outfile)

for row in infile:
    data = json.loads(row)
    writer.writerow(data)

示例阵列:

[
  {
    "latitude": 45.278,
    "longitude": -111.4502,
    "timezone": "America/Denver",
    "hourly": {
      "icon": "snow",
      "data": [
        {
          "time": 1257055200,
          "precipIntensity": 0,
          "precipProbability": 0,
          "temperature": 31.44,
          "apparentTemperature": 23.19,
          "dewPoint": 27.23,
          "humidity": 0.84,
          "windSpeed": 9.68,
          "windGust": 20.64,
          "windBearing": 208,
          "uvIndex": 0
        },
        {
          "time": 1257058800,
          "precipIntensity": 0,
          "precipProbability": 0,
          "temperature": 28.12,
          "apparentTemperature": 18.83,
          "dewPoint": 26.31,
          "humidity": 0.93,
          "windSpeed": 10.15,
          "windGust": 20.2,
          "windBearing": 200,
          "uvIndex": 0
        },
        {
          "time": 1257062400,
          "precipIntensity": 0,
          "precipProbability": 0,
          "temperature": 30.49,
          "apparentTemperature": 21.42,
          "dewPoint": 27.23,
          "humidity": 0.88,
          "windSpeed": 10.87,
          "windGust": 17.57,
          "windBearing": 212,
          "uvIndex": 0
        },
        {
          "time": 1257066000,
          "precipIntensity": 0,
          "precipProbability": 0,
          "temperature": 30.42,
          "apparentTemperature": 20.96,
          "dewPoint": 26.55,
          "humidity": 0.85,
          "windSpeed": 11.64,
          "windGust": 21.97,
          "windBearing": 182,
          "uvIndex": 0
        },
        {
          "time": 1257069600,
          "precipIntensity": 0.0006,
          "precipProbability": 0.06,
          "precipType": "snow",
          "precipAccumulation": 0.0065,
          "temperature": 26.78,
          "apparentTemperature": 16.64,
          "dewPoint": 26.78,
          "humidity": 1,
          "windSpeed": 11.15,
          "windGust": 18.8,
          "windBearing": 191,
          "uvIndex": 0
        },
        {
          "time": 1257073200,
          "precipIntensity": 0,
          "precipProbability": 0,
          "temperature": 29.72,
          "apparentTemperature": 19.66,
          "dewPoint": 25.5,
          "humidity": 0.84,
          "windSpeed": 12.58,
          "windGust": 18.06,
          "windBearing": 178,
          "uvIndex": 0
        },
        {
          "time": 1257076800,
          "precipIntensity": 0,
          "precipProbability": 0,
          "temperature": 29.7,
          "apparentTemperature": 20.81,
          "dewPoint": 25.17,
          "humidity": 0.83,
          "windSpeed": 10.14,
          "windGust": 20.88,
          "windBearing": 204,
          "uvIndex": 0
        },
        {
          "time": 1257080400,
          "precipIntensity": 0,
          "precipProbability": 0,
          "temperature": 24.22,
          "apparentTemperature": 14.99,
          "dewPoint": 24.22,
          "humidity": 1,
          "windSpeed": 8.56,
          "windGust": 17.1,
          "windBearing": 205,
          "uvIndex": 0
        },
        {
          "time": 1257084000,
          "precipIntensity": 0,
          "precipProbability": 0,
          "temperature": 29.33,
          "apparentTemperature": 20.79,
          "dewPoint": 25.62,
          "humidity": 0.86,
          "windSpeed": 9.32,
          "windGust": 16.59,
          "windBearing": 180,
          "uvIndex": 0
        },
        {
          "time": 1257087600,
          "precipIntensity": 0,
          "precipProbability": 0,
          "temperature": 29.48,
          "apparentTemperature": 22.32,
          "dewPoint": 25.82,
          "humidity": 0.86,
          "windSpeed": 7.19,
          "windGust": 14.41,
          "windBearing": 198
        },
        {
          "time": 1257091200,
          "precipIntensity": 0,
          "precipProbability": 0,
          "temperature": 23.71,
          "apparentTemperature": 15.2,
          "dewPoint": 23.71,
          "humidity": 1,
          "windSpeed": 7.38,
          "windGust": 15.43,
          "windBearing": 211
        },
        {
          "time": 1257094800,
          "precipIntensity": 0,
          "precipProbability": 0,
          "temperature": 31.23,
          "apparentTemperature": 24.85,
          "dewPoint": 28.14,
          "humidity": 0.88,
          "windSpeed": 6.6,
          "windGust": 17.98,
          "windBearing": 190,
          "visibility": 9.997
        },
        {
          "time": 1257098400,
          "precipIntensity": 0,
          "precipProbability": 0,
          "temperature": 31.42,
          "apparentTemperature": 24.36,
          "dewPoint": 26.9,
          "humidity": 0.83,
          "windSpeed": 7.65,
          "windGust": 14.27,
          "windBearing": 221,
          "visibility": 9.997
        },
        {
          "time": 1257102000,
          "precipIntensity": 0,
          "precipProbability": 0,
          "temperature": 30.13,
          "apparentTemperature": 20.96,
          "dewPoint": 25.54,
          "humidity": 0.83,
          "windSpeed": 10.88,
          "windGust": 19.39,
          "windBearing": 252,
          "visibility": 9.997
        },
        {
          "time": 1257105600,
          "precipIntensity": 0.0002,
          "precipProbability": 0.05,
          "precipType": "rain",
          "temperature": 35.9,
          "apparentTemperature": 29.09,
          "dewPoint": 26.04,
          "humidity": 0.67,
          "windSpeed": 8.92,
          "windGust": 17.02,
          "windBearing": 272,
          "visibility": 9.997
        },
        {
          "time": 1257109200,
          "precipIntensity": 0.0004,
          "precipProbability": 0.05,
          "precipType": "rain",
          "temperature": 35.99,
          "apparentTemperature": 29.7,
          "dewPoint": 26.05,
          "humidity": 0.67,
          "windSpeed": 8.01,
          "windGust": 15.4,
          "windBearing": 299,
          "visibility": 9.997
        },
        {
          "time": 1257112800,
          "precipIntensity": 0,
          "precipProbability": 0,
          "temperature": 30.46,
          "apparentTemperature": 24.5,
          "dewPoint": 24.95,
          "humidity": 0.8,
          "windSpeed": 5.86,
          "windGust": 14.47,
          "windBearing": 283,
          "visibility": 9.997
        },
        {
          "time": 1257116400,
          "precipIntensity": 0,
          "precipProbability": 0,
          "temperature": 30.09,
          "apparentTemperature": 24.17,
          "dewPoint": 24.66,
          "humidity": 0.8,
          "windSpeed": 5.74,
          "windGust": 12.76,
          "windBearing": 302,
          "visibility": 9.997
        },
        {
          "time": 1257120000,
          "precipIntensity": 0.0003,
          "precipProbability": 0.05,
          "precipType": "snow",
          "precipAccumulation": 0.0027,
          "temperature": 29.83,
          "apparentTemperature": 24.26,
          "dewPoint": 23.13,
          "humidity": 0.76,
          "windSpeed": 5.28,
          "windGust": 10.97,
          "windBearing": 279,
          "visibility": 9.997
        },
        {
          "time": 1257123600,
          "precipIntensity": 0,
          "precipProbability": 0,
          "temperature": 23.36,
          "apparentTemperature": 16.73,
          "dewPoint": 22.48,
          "humidity": 0.96,
          "windSpeed": 5.19,
          "windGust": 10.9,
          "windBearing": 301,
          "uvIndex": 0,
          "visibility": 9.997
        },
        {
          "time": 1257127200,
          "precipIntensity": 0,
          "precipProbability": 0,
          "temperature": 25.27,
          "apparentTemperature": 19.45,
          "dewPoint": 21.4,
          "humidity": 0.85,
          "windSpeed": 4.73,
          "windGust": 10.35,
          "windBearing": 319,
          "uvIndex": 0,
          "visibility": 9.997
        },
        {
          "time": 1257130800,
          "precipIntensity": 0.0003,
          "precipProbability": 0.05,
          "precipType": "snow",
          "precipAccumulation": 0.004,
          "temperature": 25.21,
          "apparentTemperature": 18.8,
          "dewPoint": 20.52,
          "humidity": 0.82,
          "windSpeed": 5.29,
          "windGust": 9.36,
          "windBearing": 308,
          "uvIndex": 0,
          "visibility": 9.997
        },
        {
          "time": 1257134400,
          "precipIntensity": 0.0003,
          "precipProbability": 0.06,
          "precipType": "snow",
          "precipAccumulation": 0.0047,
          "temperature": 19.2,
          "apparentTemperature": 11.84,
          "dewPoint": 19.2,
          "humidity": 1,
          "windSpeed": 5.18,
          "windGust": 9.38,
          "windBearing": 296,
          "uvIndex": 0,
          "visibility": 9.997
        },
        {
          "time": 1257138000,
          "summary": "Possible Light Snow",
          "icon": "snow",
          "precipIntensity": 0.0019,
          "precipProbability": 0.25,
          "precipType": "snow",
          "precipAccumulation": 0.0279,
          "temperature": 21.43,
          "apparentTemperature": 21.43,
          "dewPoint": 19.43,
          "humidity": 0.92,
          "windSpeed": 1.73,
          "windGust": 4.51,
          "windBearing": 30,
          "uvIndex": 0,
          "visibility": 9.997
        },
        {
          "time": 1257141600,
          "summary": "Possible Light Snow",
          "icon": "snow",
          "precipIntensity": 0.0025,
          "precipProbability": 0.25,
          "precipType": "snow",
          "precipAccumulation": 0.0378,
          "temperature": 21.35,
          "apparentTemperature": 21.35,
          "dewPoint": 20.53,
          "humidity": 0.97,
          "windSpeed": 1.34,
          "windGust": 3.67,
          "windBearing": 1,
          "uvIndex": 0,
          "visibility": 9.997
        }
      ]
    },
    "daily": {
      "data": [
        {
          "time": 1257055200,
          "icon": "snow",
          "sunriseTime": 1257084420,
          "sunsetTime": 1257120900,
          "moonPhase": 0.48,
          "precipIntensity": 0.0003,
          "precipIntensityMax": 0.0026,
          "precipIntensityMaxTime": 1257141300,
          "precipProbability": 0.25,
          "precipType": "snow",
          "precipAccumulation": 0.08,
          "temperatureHigh": 37.15,
          "temperatureHighTime": 1257107460,
          "temperatureLow": 7.34,
          "temperatureLowTime": 1257166860,
          "apparentTemperatureHigh": 30.24,
          "apparentTemperatureHighTime": 1257107640,
          "apparentTemperatureLow": 7.83,
          "apparentTemperatureLowTime": 1257166860,
          "dewPoint": 24.71,
          "humidity": 0.87,
          "windSpeed": 7.74,
          "windGust": 21.98,
          "windGustTime": 1257066120,
          "windBearing": 211,
          "uvIndex": 0,
          "uvIndexTime": 1257055200,
          "visibility": 9.997,
          "temperatureMin": 18.61,
          "temperatureMinTime": 1257134820,
          "temperatureMax": 37.15,
          "temperatureMaxTime": 1257107460,
          "apparentTemperatureMin": 11.82,
          "apparentTemperatureMinTime": 1257134280,
          "apparentTemperatureMax": 30.24,
          "apparentTemperatureMaxTime": 1257107640
        }
      ]
    },
    "flags": {
      "sources": [
        "cmc",
        "gfs",
        "hrrr",
        "icon",
        "isd",
        "madis",
        "nam",
        "sref"
      ],
      "nearest-station": 0.155,
      "units": "us"
    },
    "offset": -7
  },
  {
    "latitude": 45.278,
    "longitude": -111.4502,
    "timezone": "America/Denver",
    "hourly": {
      "data": [
        {
          "time": 1257145200,
          "summary": "Possible Flurries",
          "icon": "snow",
          "precipIntensity": 0.0015,
          "precipProbability": 0.25,
          "precipType": "snow",
          "precipAccumulation": 0.026,
          "temperature": 17.46,
          "apparentTemperature": 17.46,
          "dewPoint": 17.46,
          "humidity": 1,
          "windSpeed": 1.43,
          "windGust": 3.95,
          "windBearing": 17,
          "uvIndex": 0,
          "visibility": 9.997
        },
        {
          "time": 1257148800,
          "summary": "Possible Light Snow",
          "icon": "snow",
          "precipIntensity": 0.0017,
          "precipProbability": 0.25,
          "precipType": "snow",
          "precipAccumulation": 0.0279,
          "temperature": 18.45,
          "apparentTemperature": 12.87,
          "dewPoint": 18.42,
          "humidity": 1,
          "windSpeed": 3.69,
          "windGust": 3.69,
          "windBearing": 346,
          "uvIndex": 0,
          "visibility": 9.997
        },
        {
          "time": 1257152400,
          "precipIntensity": 0,
          "precipProbability": 0,
          "temperature": 18.29,
          "apparentTemperature": 18.29,
          "dewPoint": 18.29,
          "humidity": 1,
          "windSpeed": 2.67,
          "windGust": 2.67,
          "windBearing": 324,
          "uvIndex": 0,
          "visibility": 9.997
        },
        {
          "time": 1257156000,
          "summary": "Possible Light Snow",
          "icon": "snow",
          "precipIntensity": 0.0025,
          "precipProbability": 0.25,
          "precipType": "snow",
          "precipAccumulation": 0.0551,
          "temperature": 11.22,
          "apparentTemperature": 11.22,
          "dewPoint": 11.22,
          "humidity": 1,
          "windSpeed": 1.91,
          "windGust": 8.01,
          "windBearing": 154,
          "uvIndex": 0,
          "visibility": 9.997
        },
        {
          "time": 1257159600,
          "summary": "Possible Light Snow",
          "icon": "snow",
          "precipIntensity": 0.002,
          "precipProbability": 0.25,
          "precipType": "snow",
          "precipAccumulation": 0.038,
          "temperature": 15.08,
          "apparentTemperature": 15.08,
          "dewPoint": 15.08,
          "humidity": 1,
          "windSpeed": 2.85,
          "windGust": 2.85,
          "windBearing": 334,
          "uvIndex": 0,
          "visibility": 9.997
        },
        {
          "time": 1257163200,
          "precipIntensity": 0,
          "precipProbability": 0,
          "temperature": 15.1,
          "apparentTemperature": 15.1,
          "dewPoint": 15.1,
          "humidity": 1,
          "windSpeed": 0.53,
          "windGust": 1.6,
          "windBearing": 255,
          "uvIndex": 0,
          "visibility": 9.997
        },
        {
          "time": 1257166800,
          "summary": "Possible Light Snow",
          "icon": "snow",
          "precipIntensity": 0.0017,
          "precipProbability": 0.25,
          "precipType": "snow",
          "precipAccumulation": 0.0414,
          "temperature": 7.83,
          "apparentTemperature": 7.83,
          "dewPoint": 7.83,
          "humidity": 1,
          "windSpeed": 1.44,
          "windGust": 6.53,
          "windBearing": 158,
          "uvIndex": 0,
          "visibility": 9.997
        },
        {
          "time": 1257170400,
          "summary": "Possible Light Snow",
          "icon": "snow",
          "precipIntensity": 0.0025,
          "precipProbability": 0.25,
          "precipType": "snow",
          "precipAccumulation": 0.0496,
          "temperature": 14.04,
          "apparentTemperature": 14.04,
          "dewPoint": 14.04,
          "humidity": 1,
          "windSpeed": 1.62,
          "windGust": 6.11,
          "windBearing": 146,
          "uvIndex": 0,
          "visibility": 9.997
        },
        {
          "time": 1257174000,
          "summary": "Possible Flurries",
          "icon": "snow",
          "precipIntensity": 0.0005,
          "precipProbability": 0.25,
          "precipType": "snow",
          "precipAccumulation": 0.0092,
          "temperature": 16.43,
          "apparentTemperature": 16.43,
          "dewPoint": 16.43,
          "humidity": 1,
          "windSpeed": 2.02,
          "windGust": 7.1,
          "windBearing": 172,
          "visibility": 9.997
        },
        {
          "time": 1257177600,
          "summary": "Possible Flurries",
          "icon": "snow",
          "precipIntensity": 0.0005,
          "precipProbability": 0.25,
          "precipType": "snow",
          "precipAccumulation": 0.0077,
          "temperature": 21.13,
          "apparentTemperature": 13.83,
          "dewPoint": 16.85,
          "humidity": 0.83,
          "windSpeed": 5.46,
          "windGust": 12.06,
          "windBearing": 193,
          "visibility": 9.997
        },
        {
          "time": 1257181200,
          "precipIntensity": 0,
          "precipProbability": 0,
          "temperature": 25.03,
          "apparentTemperature": 19.82,
          "dewPoint": 22.34,
          "humidity": 0.89,
          "windSpeed": 4.16,
          "windGust": 11.42,
          "windBearing": 155,
          "visibility": 9.997
        },
        {
          "time": 1257184800,
          "precipIntensity": 0,
          "precipProbability": 0,
          "temperature": 27.67,
          "apparentTemperature": 19.56,
          "dewPoint": 20.83,
          "humidity": 0.75,
          "windSpeed": 8,
          "windGust": 12.86,
          "windBearing": 162,
          "visibility": 9.997
        },
        {
          "time": 1257188400,
          "precipIntensity": 0,
          "precipProbability": 0,
          "temperature": 28.11,
          "apparentTemperature": 18.61,
          "dewPoint": 20.38,
          "humidity": 0.72,
          "windSpeed": 10.53,
          "windGust": 15.53,
          "windBearing": 170,
          "visibility": 9.997
        },
        {
          "time": 1257192000,
          "precipIntensity": 0.0002,
          "precipProbability": 0.05,
          "precipType": "snow",
          "precipAccumulation": 0.002,
          "temperature": 30.97,
          "apparentTemperature": 22.39,
          "dewPoint": 18.03,
          "humidity": 0.58,
          "windSpeed": 10.12,
          "windGust": 16.42,
          "windBearing": 177,
          "visibility": 9.997
        },
        {
          "time": 1257195600,
          "precipIntensity": 0.0006,
          "precipProbability": 0.05,
          "precipType": "rain",
          "temperature": 37.42,
          "apparentTemperature": 29.77,
          "dewPoint": 16.32,
          "humidity": 0.42,
          "windSpeed": 11.55,
          "windGust": 17.97,
          "windBearing": 165,
          "visibility": 9.997
        },
        {
          "time": 1257199200,
          "precipIntensity": 0,
          "precipProbability": 0,
          "temperature": 35.09,
          "apparentTemperature": 26.36,
          "dewPoint": 14.91,
          "humidity": 0.43,
          "windSpeed": 12.79,
          "windGust": 19.86,
          "windBearing": 166,
          "visibility": 9.997
        },
        {
          "time": 1257202800,
          "precipIntensity": 0,
          "precipProbability": 0,
          "temperature": 33.84,
          "apparentTemperature": 25.56,
          "dewPoint": 15.88,
          "humidity": 0.47,
          "windSpeed": 10.94,
          "windGust": 18.78,
          "windBearing": 174,
          "visibility": 9.997
        },
        {
          "time": 1257206400,
          "precipIntensity": 0,
          "precipProbability": 0,
          "temperature": 29.45,
          "apparentTemperature": 20.85,
          "dewPoint": 15.97,
          "humidity": 0.57,
          "windSpeed": 9.48,
          "windGust": 18.78,
          "windBearing": 175,
          "visibility": 9.997
        },
        {
          "time": 1257210000,
          "precipIntensity": 0.0004,
          "precipProbability": 0.05,
          "precipType": "snow",
          "precipAccumulation": 0.0036,
          "temperature": 29.04,
          "apparentTemperature": 20.2,
          "dewPoint": 19.86,
          "humidity": 0.68,
          "windSpeed": 9.74,
          "windGust": 18.65,
          "windBearing": 164,
          "uvIndex": 0,
          "visibility": 9.997
        },
        {
          "time": 1257213600,
          "precipIntensity": 0,
          "precipProbability": 0,
          "temperature": 29.38,
          "apparentTemperature": 20.31,
          "dewPoint": 20.23,
          "humidity": 0.68,
          "windSpeed": 10.3,
          "windGust": 16.09,
          "windBearing": 162,
          "uvIndex": 0,
          "visibility": 9.997
        },
        {
          "time": 1257217200,
          "precipIntensity": 0.0002,
          "precipProbability": 0.05,
          "precipType": "snow",
          "precipAccumulation": 0.0022,
          "temperature": 30.29,
          "apparentTemperature": 21.47,
          "dewPoint": 17.09,
          "humidity": 0.58,
          "windSpeed": 10.25,
          "windGust": 17.08,
          "windBearing": 162,
          "uvIndex": 0,
          "visibility": 9.997
        },
        {
          "time": 1257220800,
          "precipIntensity": 0,
          "precipProbability": 0,
          "temperature": 30.26,
          "apparentTemperature": 19.94,
          "dewPoint": 15.54,
          "humidity": 0.54,
          "windSpeed": 13.5,
          "windGust": 19.05,
          "windBearing": 171,
          "uvIndex": 0,
          "visibility": 9.997
        },
        {
          "time": 1257224400,
          "precipIntensity": 0.0005,
          "precipProbability": 0.05,
          "precipType": "snow",
          "precipAccumulation": 0.0051,
          "temperature": 28.23,
          "apparentTemperature": 18.19,
          "dewPoint": 16.37,
          "humidity": 0.61,
          "windSpeed": 11.68,
          "windGust": 17.71,
          "windBearing": 174,
          "uvIndex": 0,
          "visibility": 9.997
        },
        {
          "time": 1257228000,
          "precipIntensity": 0.0005,
          "precipProbability": 0.05,
          "precipType": "snow",
          "precipAccumulation": 0.0053,
          "temperature": 27.52,
          "apparentTemperature": 17.68,
          "dewPoint": 17.72,
          "humidity": 0.66,
          "windSpeed": 10.92,
          "windGust": 16.38,
          "windBearing": 184,
          "uvIndex": 0,
          "visibility": 9.997
        }
      ]
    },
    "daily": {
      "data": [
        {
          "time": 1257145200,
          "icon": "snow",
          "sunriseTime": 1257170880,
          "sunsetTime": 1257207180,
          "moonPhase": 0.51,
          "precipIntensity": 0.0006,
          "precipIntensityMax": 0.0027,
          "precipIntensityMaxTime": 1257156900,
          "precipProbability": 0.25,
          "precipType": "snow",
          "precipAccumulation": 0.26,
          "temperatureHigh": 38.04,
          "temperatureHighTime": 1257196020,
          "temperatureLow": 23.11,
          "temperatureLowTime": 1257253860,
          "apparentTemperatureHigh": 29.86,
          "apparentTemperatureHighTime": 1257195900,
          "apparentTemperatureLow": 13.93,
          "apparentTemperatureLowTime": 1257253380,
          "dewPoint": 16.73,
          "humidity": 0.77,
          "windSpeed": 7.03,
          "windGust": 19.87,
          "windGustTime": 1257199440,
          "windBearing": 170,
          "uvIndex": 0,
          "uvIndexTime": 1257145200,
          "visibility": 9.997,
          "temperatureMin": 7.34,
          "temperatureMinTime": 1257166860,
          "temperatureMax": 38.04,
          "temperatureMaxTime": 1257196020,
          "apparentTemperatureMin": 7.83,
          "apparentTemperatureMinTime": 1257166860,
          "apparentTemperatureMax": 29.86,
          "apparentTemperatureMaxTime": 1257195900
        }
      ]
    },
    "flags": {
      "sources": [
        "cmc",
        "gfs",
        "hrrr",
        "icon",
        "isd",
        "madis",
        "nam",
        "sref"
      ],
      "nearest-station": 0.155,
      "units": "us"
    },
    "offset": -7
  }
]

Tags: timevisibilitytemperaturesnowhumiditydewpointwindspeeduvindex
1条回答
网友
1楼 · 发布于 2024-04-29 18:47:07
import json
with open("test.json", "r") as fin
  data = json.loads(fin)
processed_data = []
for line in data:
    latitude = line["latitude"]
    longitude = line["longitude"]
    timezone = line["timezone"]
    for freq in ["hourly", "daily"]:
        icon = line[freq].get("icon", "")
        for item in line[freq]["data"]:
            item["longitude"] = latitude
            item["longitude"] = longitude
            item["timezone"] = timezone
            item["icon"] = icon
            processed_data.append(item)
            
df = pd.DataFrame(processed_data)
df.to_csv("test2.csv", index=False)


time    precipIntensity precipProbability   temperature apparentTemperature dewPoint    humidity    windSpeed   windGust    windBearing ... windGustTime    uvIndexTime temperatureMin  temperatureMinTime  temperatureMax  temperatureMaxTime  apparentTemperatureMin  apparentTemperatureMinTime  apparentTemperatureMax  apparentTemperatureMaxTime
0   1257055200  0.0000  0.00    31.44   23.19   27.23   0.84    9.68    20.64   208 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
1   1257058800  0.0000  0.00    28.12   18.83   26.31   0.93    10.15   20.20   200 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2   1257062400  0.0000  0.00    30.49   21.42   27.23   0.88    10.87   17.57   212 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
3   1257066000  0.0000  0.00    30.42   20.96   26.55   0.85    11.64   21.97   182 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
4   1257069600  0.0006  0.06    26.78   16.64   26.78   1.00    11.15   18.80   191 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN

相关问题 更多 >