4

d3.jsライブラリを使用して小さなグラフを作成しています。

d3.csv()を使用して、.csv内の番号を呼び出しています。5つの列が正常に機能します。

しかし、console.log(typeof d.Rate_10)によると、2つの列は数字ですが、「NaN」でいっぱいであると言われています。

d3.csv("minerals.csv", function(data) 
{
    data.forEach(function(d) 
    {
        d.Value_Total_10 = d.Value_Total_10 // works
        d.Value_Total_11 = d.Value_Total_11 //works

        d.Commodity = d.Commodity   //works

        d.Volume_Total_10 = d.Volume_Total_10 // works
        d.Volume_total_11 = d.Volume_Total_11 // works

        d.Rate_10 = +d.Rate_10 // script is not recognizing these values as numbers.

        console.log(typeof d.Rate_10) //prints "number"
        console.log(d.Rate_10) // prints "NaN"

        d.Rate_11 = +d.Rate_11 // script is not recognizing these values as numbers.

        console.log(typeof d.Rate_11) //prints "number"
        console.log(d.Rate_11); //prints "NaN"

        ...

私の.csvは、.csvとして保存されたExcelです。私の厄介な「レート」列は元々計算された列でしたが、修正の試みとして手動で再入力しました。動作しませんでした。

これはfloat、int、IEEEなどと関係があることは理解していますが、それを正確に理解しているわけではなく、すべての値は小数点以下1桁または2桁の単純な数値です。

私の.csvはここにあります:http://greencracker.net/wp-content/uploads/2012/12/minerals.csv

何が得られますか?作業列とNaN列の違いがわかりません。

4

1 に答える 1

0

ちょうど同じ問題が発生していました。

私はd3.csvをインポートしていたcsvファイルで、いくつかの数値がNaNを返していました。私の問題はcsvファイルでした。

私はExcelを使用して作成し、インポートしていた列の1つに、「数値」としてフォーマットされた約3,000行のセルがありました。これは、Excel が桁区切り記号として数値にコンマを配置したことを意味します。コンマや余分な書式を使用せずに、列を一般的に再書式設定しました。出来上がり

于 2015-08-29T03:11:07.347 に答える