Bonjour,
je commence tout juste un stage après une courte formation dans le code, je suis donc encore un bambin dans le domaine
Je dois pour mon stage créer un code qui permettra de convertir des fichiers csv en format json
Il y avait encore des problèmes après qu'il soit fonctionnel
J'ai donc essayé en cherchant sur le net de résoudre le problème visible en première image, à savoir que les premières lignes (les valeurs largueurs servant aussi de colonne) n'aient plus cet attribut NaN, pareil pour la ligne en bas, qui se répète dans la suite du code, ce à chaque fois qu'on passe à une nouvelle ligne du tableau (du tableau csv, pas tableau au sens array)
Mais il semble que j'ai fait plus de dégâts qu'autre chose, en témoigne la suite que je vais vous poster
[EDIT] Formatage du code avec les balises
Modifié par _laurent (07 Apr 2021 - 17:40)
je commence tout juste un stage après une courte formation dans le code, je suis donc encore un bambin dans le domaine
Je dois pour mon stage créer un code qui permettra de convertir des fichiers csv en format json
Il y avait encore des problèmes après qu'il soit fonctionnel
import fs from 'fs';
//const fs = require('fs')
fs.readFile('OF1.csv', 'utf8', (err, file) => {
if (err) throw err;
//supression des espaces
file = file.replace(/ /g, '')
// Lignes et entêtes de colonnes
const lines = file.split('\r\n').filter((line, i) => i > 1)
const columns = lines[0].split(';')
// Largeurs et hauteurs
const largeurs = columns.filter((col, i) => i > 0).map(col => +col)
var hauteurs = []
var prices = []
var result = {
largeurMin: Math.min(...largeurs),
largeurMax: Math.max(...largeurs),
}
for (var i = 0; i < lines.length; i++) {
const line = lines[i]
const lineData = line.split(';')
const hauteur = +lineData[0]
if (+lineData[0] > 0) hauteurs.push(hauteur)
for (var j = 0; j < columns.length; j++) {
var priceObject = {
hauteur: hauteur,
largeur: largeurs[j],
price: +lineData[j + 1],
}
prices.push(priceObject)
}
}
]
result.hauteurMin = Math.min(...hauteurs)
result.hauteurMax = Math.max(...hauteurs)
result.prices = prices
console.log(result)
});
J'ai donc essayé en cherchant sur le net de résoudre le problème visible en première image, à savoir que les premières lignes (les valeurs largueurs servant aussi de colonne) n'aient plus cet attribut NaN, pareil pour la ligne en bas, qui se répète dans la suite du code, ce à chaque fois qu'on passe à une nouvelle ligne du tableau (du tableau csv, pas tableau au sens array)
Mais il semble que j'ai fait plus de dégâts qu'autre chose, en témoigne la suite que je vais vous poster
[EDIT] Formatage du code avec les balises
Modifié par _laurent (07 Apr 2021 - 17:40)