0

一連のデータをテーブルとして ASCII ファイルに保存しています。たとえば、次のようになります。

1   100  2.345
2   342  8.233
3   65   89.23

Python で数年間働いた後、 Cに戻ったばかりで、このインポートを実行できるライブラリはまだないのではないかと思いました。numpy.loadtxt()Pythonのようなものですか?たとえば、float または double 配列を出力するには? 過去に、このジョブをC (たとえば C99) で実行するために自分でプログラムを作成する必要があったことを覚えています。インポートを実行する標準パッケージはありますか? 結果を ASCII ファイルに保存するのはどうですか? 私はこれらの両方のプログラムを自分で書くことができますが、他の人が私の前に確実に行ったことを繰り返したくありません!

4

2 に答える 2

1

通常の形式の機械生成ファイルの場合、fscanf()問題なく動作します。

int index;
int x;
double y;

while (fscanf(infile, "%d %d %lf\n", &index, &x, &y) == 3) {
    /* ... */
}

任意の数の列を持つファイルを処理し、後で検索または操作できるようにファイルをデータ構造にフィードしたい場合は、プログラムまたはスクリプトを使用して同じテーブルを CSV で生成することをお勧めします。または XML 形式。次に、 Mini-XMLlibcsvなどのライブラリを使用してファイルを解析します。

于 2013-07-02T00:22:48.700 に答える