чтение в csv с разбором даты [дубликаты]

На этот вопрос уже есть ответ:

d3.json не возвращает мой массив данных в D3 v4 1 ответ

У меня очень тяжело загружается мои данные правильно. Вот строка заголовка с первой строкой содержимого:

BookingID,Type,Status,Unit Booked,Unit Owner,Destination,Booking Date,Checkin,Checkout,Renter - FirstName,Renter - LastName,Renter - EmailAddress,Renter - WorkPhone,Renter - HomePhone,#Adults,#Children,Total Stay,Total Paid,Total Due
15642889,House,Confirmed,GV T3 #2106,,,3/20/2016 7:00:00 PM,3/23/2016 3:00:00 PM,3/28/2016 11:00:00 AM,FirstName,LastName,first&[email protected],+1 (000) 000-0000,+1 (000) 000-0000,2,0,895,895,0

И соответствующие строки загрузки и разбора моего CSV, как я хочу:

var parseDate = d3.time.format("%m/%d/%Y %H:%M:%S %p").parse;
var data = d3.csv("Sales Export Friendly 3-19-17.csv", function(data) {
    return {
        unit: data["Unit Booked"],
        date: parseDate(data["Booking Date"]).getMonth() + 1,
        checkin: parseDate(data["Checkin"]).getMonth() + 1,
        LOS: parseDate(data["Checkout"]).valueOf() - parseDate(data["Checkin"]).valueOf()/(24*60*60*1000),
        total: +data["Total Stay"],
        avgNight: (+data["Total Stay"]) / ((new Date(data["Checkout"]).valueOf() - new Date(data["Checkin"]).valueOf())/(24*60*60*1000))
        };
});

Идея в том, что я сделаю что-то вроде этого:

d3.parcoords()("#TopLeft").alpha(0.4)
        .data(data)
        .dimensions(data.columns)

Если я попытаюсь console.log (data.columns); после моей функции обратного вызова я получаю неопределенный. Вот что console.log (data); печатает, что выглядит довольно странно:

Object { header: Cn/u.header(), mimeType: Cn/u.mimeType(), responseType: Cn/u.responseType(), response: Cn/u.response(), get: Cn/</u[n](), post: Cn/</u[n](), send: Cn/u.send(), abort: Cn/u.abort(), on: M/<(), row: e/o.row() }

И коды ошибок, которые я сейчас получаю:

TypeError: data.slice is not a function

При вызове данных (данных) на d3.parcoords и

TypeError: e is undefined

На этой строке:

checkin: parseDate(data["Checkin"]).getMonth() + 1,

Я ужасно смущен тем, что здесь происходит не так. Я использую d3 v3.

Ответы на вопрос(1)

Ваш ответ на вопрос