Object中存在“Date”属性,但返回“undefined”

时间:2014-08-19 16:22:42

标签: node.js csv utf-8 stream ucs2

所以我使用fast-csv从csv文件中获取所有行。我使用的文件是UTF-16格式,并使用ucs2 readStream,我从文件中获取每条记录。

_csv.fromStream(stream, {headers: true, delimiter: '\t'})
        .on("record", function(data) {
            count ++;
            console.log(data.Date);
            var dataHash = hash(data);
            if (!dict.hasOwnProperty(dataHash)) {
                dict[dataHash] = 1;
            } else {
                dict[dataHash]++;
            }
        })

我在每一行中都把它划分为" |"分隔字符串。但是,日期不会再回来修正。如果我是console.log(数据),那么Date属性肯定存在,但我无法使用data.Date,data [" Date"]和data.hasOwnProperty(" Date" );也不起作用。该对象看起来像:

{
    'Date': '07/10/2014',
    '[Value 1]': 'xxx',
    '[Value 2]': 'xxx',
    '[Value 3]': 'xxx',
    '[Value 4]': 'xxx',
}

有没有人见过这个,也许知道我做错了什么?

1 个答案:

答案 0 :(得分:0)

问题与前导或尾随垃圾有关。我能够在fast-csv解析器上使用trim属性来解决问题。