【问题标题】:"Date" property exists in Object but returns "undefined"“日期”属性存在于对象中但返回“未定义”
【发布时间】:2014-08-19 16:22:41
【问题描述】:

所以我使用 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(data),则 Date 属性肯定存在,但我无法使用 data.Date、data["Date"] 和 data.hasOwnProperty("Date"); 访问它。也不行。对象看起来像:

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

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

【问题讨论】:

  • 另外,如果我执行 for(var x in obj) { console.log(x) } 打印日期...

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-10
    • 1970-01-01
    • 2021-09-21
    • 1970-01-01
    • 2019-06-17
    • 1970-01-01
    相关资源
    最近更新 更多