我正在尝试将一系列多级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
}
]
相关问题 更多 >
编程相关推荐