我有一系列数据保存为 ASCII 文件中的表格,例如:
1 100 2.345
2 342 8.233
3 65 89.23
在使用 Python 工作几年后,我刚刚回到 C 并且想知道是否已经有任何库可以执行此导入?像 Python 中的 numpy.loadtxt()
这样的东西?例如输出一个 float 或一个 double 数组?我记得以前我不得不自己写一个程序来用C(例如C99)来完成这项工作,有没有任何标准的包可以导入?如何将结果保存到 ASCII 文件中?我可以自己为这两者编写一个程序,但我不想重复其他人在我之前所做的事情!
最佳答案
对于机器生成的具有常规范式的文件,fscanf()
可以完美运行:
int index;
int x;
double y;
while (fscanf(infile, "%d %d %lf\n", &index, &x, &y) == 3) {
/* ... */
}
如果您希望能够处理具有任意数量列的文件,并且只是将文件输入到您以后可以搜索或操作的数据结构中,那么最好使用程序或脚本来生成相同的文件CSV 或 XML 格式的表格。然后,使用类似 libcsv
的库或 Mini-XML为您解析文件。
关于c - 将 C 中的 ASCII 表作为数组导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17415575/