NaNでのCでCSVファイルを読み込むときに対処する方法++
質問
私はC ++プログラムに時系列データのcsvファイルで読んでいます。私のデータは、しかし含まれてい いくつかのNaNさん。たとえばます:
1-Jul-2010, 1.0
2-Jul-2010, 2.0
3-Jul-2010, NaN
4-Jul-2010, 3.0
この私がすべてのNaNの0.0とを置き換えMATLABで短いスクリプトを書いたに対処するために- 私は、その後のNaNのせずに、新しいファイルを読み込みます。簡単な方法または回避はあります この前処理?
ありがとうございます。
解決
としてダビデはすでに述べ考えると、あなたはすべてのファイルを事前処理する必要はありません。 strtof()とは、strtod()の両方のNaNフロート/ダブル値のNaN文字列を変換することができる。
あなたのデータセットで0.0で値を置き換えたい場合は、あなたがそうすることができISNAN()関数を使用します。
if (isnan(val))
{
val = 0.0;
}
他のヒント
NaNを使用すると、結果がfloat(またはdouble)になりたいですか - 。そしてSTDLIBのは、strtod()関数を使用します。
あなたがあなた自身の方法(0などに設定して)でそれに対処したい場合は、最初の文字列に各行を読んで、strcmpのとNaNをチェック()、あなたが見つけるものに応じて文字列を解析 - 簡単にNaNの場合1列のみに表示されることがあります。
所属していません StackOverflow