0

そのため、csv ファイルからすべての行を取得するために fast-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',
}

誰かがこれを以前に見たことがあり、おそらく私が間違っていることを知っていますか?

4

1 に答える 1

0

問題は、先頭または末尾のガベージに関係していました。問題を修正するために、fast-csv パーサーでトリム プロパティを使用することができました。

于 2014-08-19T17:04:42.007 に答える