Estoy importando un archivo csv y d3 trata cada columna como una cadena. Las fechas se almacenan actualmente así: 2016-11-01. Estoy tratando de modificar esta columna para que aparezca como 16 de noviembre (mes abreviado, año abreviado).
Aquí está el código que tengo hasta ahora:
var dateParse = d3.timeParse("%Y-%m-%d") //matches the format in the csv var monthParse = d3.timeParse("%m %y") //the format I'm looking for var rowConverter = function (d) { return { date: dateParse(d.date) month: monthParse (d.date) //also tried monthParse(date) }; } d3.dsv(",","my_csv.csv", rowConverter)Esperaba que esto me diera dos columnas: una que sería la fecha completa y otra con el mes y el año abreviados. He confirmado que dateParse funciona correctamente usando las instrucciones console.log(). El monthParse, sin embargo, solo da como resultado NaN. ¿Cómo puedo hacer que esta columna se llene correctamente?
d3.timeParse convierte una cadena en un objeto de fecha . d3.timeFormat convierte un objeto de fecha en una cadena.
Usted podría estar buscando algo como esto:
const dateParse = d3.timeParse("%Y-%m-%d"); const dateFormat = d3.timeFormat("%m %y"); function rowConverter(d) { const date = dateParse(d.date); return { date: date, month: dateFormat(date) }; }