質問編集履歴

3

数値の変更をしました

2021/01/07 03:02

投稿

rikku_3413
rikku_3413

スコア11

test CHANGED
File without changes
test CHANGED
@@ -496,6 +496,10 @@
496
496
 
497
497
  19404774900314,18232333157805,321813212,6973081695820,6858087362957
498
498
 
499
+ 19404939122952,18232504179497,321814077,6973251217583,6858254359951
500
+
501
+ 19405103421764,18232675201303,321815002,6973419614954,6858418776197
502
+
499
503
  //以下略
500
504
 
501
505
  ```

2

誤字を修正しました

2021/01/07 03:02

投稿

rikku_3413
rikku_3413

スコア11

test CHANGED
File without changes
test CHANGED
@@ -360,7 +360,7 @@
360
360
 
361
361
  "name": "IntGW-02",
362
362
 
363
- modiles:{...
363
+ modules:{...
364
364
 
365
365
  }
366
366
 
@@ -370,7 +370,7 @@
370
370
 
371
371
  "name": "RR-01",
372
372
 
373
- modiles:{...
373
+ modules:{...
374
374
 
375
375
  }
376
376
 
@@ -380,7 +380,7 @@
380
380
 
381
381
  "name": "TR-01",
382
382
 
383
- modiles:{...
383
+ modules:{...
384
384
 
385
385
  }
386
386
 
@@ -390,7 +390,7 @@
390
390
 
391
391
  "name": "TR-02",
392
392
 
393
- modiles:{...
393
+ modules:{...
394
394
 
395
395
  }
396
396
 

1

修正依頼になるべく応えられるように全体的に文章を変更しました。

2021/01/07 02:59

投稿

rikku_3413
rikku_3413

スコア11

test CHANGED
File without changes
test CHANGED
@@ -2,12 +2,26 @@
2
2
 
3
3
  ディレクトリ内のjsonファイルを走査してcsvファイルに変換して変換結果を追記するとき、見出しと一致した時そこに書き込むことをしたいです。
4
4
 
5
- それか見出しを指定してその見出しと一致したところのみを追記することをしたいです。
5
+ それか見出し(下の例のCSVファイルでいう1行目)を指定してその見出しと一致したところのみを追記することをしたいです。
6
6
 
7
7
  言い回しが複雑ですいません。
8
8
 
9
9
 
10
10
 
11
+ ```CSV
12
+
13
+ "fruit_binomial name","fruit_major_producers_0","fruit_major_producers_1","fruit_major_producers_2","fruit_name","fruit_nutrition_carbohydrates","fruit_nutrition_fat","fruit_nutrition_protein"
14
+
15
+ "Malus domestica","China","United States","Turkey","Apple","13.81g","0.17g","0.26g"
16
+
17
+ "Citrus x sinensis","Brazil","United States","India","Orange","11.75g","0.12g","0.94g"
18
+
19
+ "Mangifera indica","India","China","Thailand","Mango","15g","0.38g","0.82g"
20
+
21
+ ```
22
+
23
+
24
+
11
25
  作業対象のjsonファイルは1つ24MB、約50万行、全部で9000個と人間の目で確認しながら作業するには量が膨大すぎます。
12
26
 
13
27
  ##作業環境
@@ -222,7 +236,175 @@
222
236
 
223
237
  ```
224
238
 
225
-
239
+ ###入力ファイル構成
240
+
241
+ ```json
242
+
243
+ {
244
+
245
+ "devices": [
246
+
247
+ {
248
+
249
+ "name": "IntGW-01",
250
+
251
+ "modules": {
252
+
253
+ "openconfig-interfaces": {
254
+
255
+ "interfaces": {
256
+
257
+ "interface": [
258
+
259
+ {
260
+
261
+ "name": "GigabitEthernet1",
262
+
263
+ "config": {
264
+
265
+ "name": "GigabitEthernet1",
266
+
267
+ "type": "ianaift:ethernetCsmacd",
268
+
269
+ "description": "ManagementIF",
270
+
271
+ "enabled": true
272
+
273
+ },
274
+
275
+ "state": {
276
+
277
+ "name": "GigabitEthernet1",
278
+
279
+ "type": "ianaift:ethernetCsmacd",
280
+
281
+ "enabled": true,
282
+
283
+ "ifindex": 1,
284
+
285
+ "admin-status": "UP",
286
+
287
+ "oper-status": "UP",
288
+
289
+ "last-change": 1580105229000389000,
290
+
291
+ "counters": {
292
+
293
+ "in-octets": 17493436676,
294
+
295
+ "in-unicast-pkts": 232900221,
296
+
297
+ "in-broadcast-pkts": 0,
298
+
299
+ "in-multicast-pkts": 0,
300
+
301
+ "in-discards": 0,
302
+
303
+ "in-errors": 0,
304
+
305
+ "in-unknown-protos": 0,
306
+
307
+ "in-fcs-errors": 0,
308
+
309
+ "out-octets": 4239283962,
310
+
311
+ "out-unicast-pkts": 413443767,
312
+
313
+ "out-broadcast-pkts": 0,
314
+
315
+ "out-multicast-pkts": 0,
316
+
317
+ "out-discards": 0,
318
+
319
+ "out-errors": 0,
320
+
321
+ "last-clear": 1580105112000091000
322
+
323
+ }
324
+
325
+ },
326
+
327
+ "subinterfaces": {...
328
+
329
+ }
330
+
331
+ },
332
+
333
+ {
334
+
335
+ "name": "GigabitEthernet2",
336
+
337
+ "config": {...
338
+
339
+ },
340
+
341
+ "status":{...
342
+
343
+ },
344
+
345
+ ...
346
+
347
+ }
348
+
349
+ //以下略
350
+
351
+ ]
352
+
353
+ }
354
+
355
+ }
356
+
357
+ },
358
+
359
+ {
360
+
361
+ "name": "IntGW-02",
362
+
363
+ modiles:{...
364
+
365
+ }
366
+
367
+ },
368
+
369
+ {
370
+
371
+ "name": "RR-01",
372
+
373
+ modiles:{...
374
+
375
+ }
376
+
377
+ },
378
+
379
+ {
380
+
381
+ "name": "TR-01",
382
+
383
+ modiles:{...
384
+
385
+ }
386
+
387
+ },
388
+
389
+ {
390
+
391
+ "name": "TR-02",
392
+
393
+ modiles:{...
394
+
395
+ }
396
+
397
+ }
398
+
399
+ }
400
+
401
+ ],
402
+
403
+ "@log_name": "network-device-bgpnw2"
404
+
405
+ }
406
+
407
+ ```
226
408
 
227
409
  ### コード実行画面
228
410
 
@@ -240,9 +422,93 @@
240
422
 
241
423
  ```
242
424
 
425
+
426
+
427
+ ###出力されたファイルの一部
428
+
429
+ ```csv
430
+
431
+ devices_modules_openconfig-interfaces_interfaces_interface_1_state_counters_in-octets
432
+
433
+ 19404774900314
434
+
435
+ 18232333157805
436
+
437
+ 321813212
438
+
439
+ 6973081695820
440
+
441
+ 6858087362957
442
+
443
+ devices_modules_openconfig-interfaces_interfaces_interface_1_state_counters_in-octets
444
+
445
+ 19404939122952
446
+
447
+ 18232504179497
448
+
449
+ 321814077
450
+
451
+ 6973251217583
452
+
453
+ 6858254359951
454
+
455
+ devices_modules_openconfig-interfaces_interfaces_interface_1_state_counters_in-octets
456
+
457
+ 19405103421764
458
+
459
+ 18232675201303
460
+
461
+ 321815002
462
+
463
+ 6973419614954
464
+
465
+ 6858418776197
466
+
467
+ devices_modules_openconfig-interfaces_interfaces_interface_1_state_counters_in-octets
468
+
469
+ 19405267515552
470
+
471
+ 18232846259947
472
+
473
+ 321815813
474
+
475
+ 6973590696219
476
+
477
+ 6858586735109
478
+
479
+ devices_modules_openconfig-interfaces_interfaces_interface_1_state_counters_in-unicast-pkts
480
+
481
+ 16281056362
482
+
483
+ 15297738104
484
+
485
+ 1990660
486
+
487
+ 5861296692
488
+
489
+ ```
490
+
491
+ ###理想のファイル
492
+
493
+ ```csv
494
+
495
+ IntGW-01_devices_modules_openconfig-interfaces_interfaces_interface_1_state_counters_in-octets,IntGW-02_devices_modules_openconfig-interfaces_interfaces_interface_1_state_counters_in-octets,RR-01-02_devices_modules_openconfig-interfaces_interfaces_interface_1_state_counters_in-octets,TR-01_devices_modules_openconfig-interfaces_interfaces_interface_1_state_counters_in-octets,TR-02_devices_modules_openconfig-interfaces_interfaces_interface_1_state_counters_in-octets
496
+
497
+ 19404774900314,18232333157805,321813212,6973081695820,6858087362957
498
+
499
+ //以下略
500
+
501
+ ```
502
+
243
503
  パスなどは省略しています。
244
504
 
505
+
506
+
245
- ディレクトリ内のファイルをシェルを用いて5つ変換した結果です。返還後に列数が表示されるすが、列違ってるため出力結果を横詰めcsvにたとき、ズレが生じてしまうのを防ぎたいです。
507
+ ディレクトリ内のファイルをシェルを用いて5つ変換した結果です。返還後に列数が表示される仕様で、何故か列が少なが存在してしまうため、同じ要素が縦に並ばな状態です。
508
+
509
+
510
+
511
+ また、入力ファイルの配列内に5つの要素(IntGW-01〜TR-02)があり、devicesをキー指定として展開しているのですが、csvファイルに変換した時に要素が4つしかなかったりと、素人の私からするとよく分からないことが多いです。
246
512
 
247
513
 
248
514