0

我将一系列数据保存为 ASCII 文件中的表格,例如:

1   100  2.345
2   342  8.233
3   65   89.23

在使用 Python 工作几年后,我刚刚回到C 语言,想知道是否已经有任何库可以执行此导入?类似于numpy.loadtxt()Python 的东西?例如输出浮点数或双精度数组?我记得过去我必须自己编写一个程序才能用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 格式。然后,使用类似libcsvMini-XML的库来为您解析文件。

于 2013-07-02T00:22:48.700 回答
1

I wrote my own library to do this (with the help of the kind people here who answered my questions very promptly), you can see it here. It does the job of turning a table of data (with an unknown number of headers, columns and rows) to a C array that can be used in the program. I would appreciate any suggestions. Thank you.

于 2013-07-12T07:32:35.713 回答