【发布时间】:2012-09-07 04:58:12
【问题描述】:
我正在尝试从数据集中删除一列。我的文件如下所示。我怎样才能做到这一点?
输入-
1,2,3,4
2,3,4,5
3,4,5,6
输出-
2,3
3,4
4,5
【问题讨论】:
-
到目前为止你尝试过什么? (顺便说一句,这不是一个数据集;它是一个 CSV(逗号分隔值)文本文件。)
-
查看libcsv!
我正在尝试从数据集中删除一列。我的文件如下所示。我怎样才能做到这一点?
输入-
1,2,3,4
2,3,4,5
3,4,5,6
输出-
2,3
3,4
4,5
【问题讨论】:
没有快速的方法 - 您最终将“标记”文件的每一行,然后只编写您想要的部分。
如果您知道每行包含固定数量的整数(例如,4,如您的示例),并且您需要从中“删除”几列(例如,第 2 列和第 3 列),请在一个循环:
int a,b;
fscanf(inFile, "%*d,%d,%d,%*s", &a, &b);
fprintf(outFile, "%d,%d\n", a, b);
当然,您需要在开始循环之前打开文件,完成后关闭,并在循环条件下测试输入文件的结尾。
【讨论】: