使用C编程直接在.csv文件中访问单元格

时间:2011-04-01 19:43:26

标签: c csv

嘿伙计们! 有没有办法用C直接访问.csv文件格式的单元格? 例如我想用C总结一个专栏,我该怎么做?

3 个答案:

答案 0 :(得分:1)

最简单的方法是使用scanf - 系列,但这在很大程度上取决于数据的组织方式。假设你有三列数字数据,并且你想总结第三列,你可以循环这样的语句:(fileFILE*,并使用{{1}打开并且,你循环直到达到文件末尾)

fopen

并总结int n; fscanf(file, "%*d,%*d,%d", &n); s。如果文件中包含其他类型的数据,则需要相应地指定格式字符串。如果不同的行有不同类型的数据,您可能需要搜索字符串中的分隔符,然后选择第三个间隔。

也就是说,完全不使用C可能更容易,例如perl或awk可能会做得更好,但我想这不是一个选择。

答案 1 :(得分:1)

如果你必须使用C:将整行记录到内存中,去cout“,”直到你到达你想要的列,读取值并求它,转到下一行。

当您达到您的价值时,您可以使用sscanf来阅读它。

答案 2 :(得分:0)

您可能希望首先查看RFC 4180: Common Format and MIME Type for Comma-Separated Values (CSV) Files,然后查找相同的实现。 (请注意,逗号分隔值的概念早于RFC,并且有许多实现不符合该文档。)

我发现:

并不是很多其他人。有很多c ++实现,大多数可能很容易适应c。