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

大家好! 有没有办法用C直接访问.csv文件格式的单元格? 例如,我想用C总结一列,我该怎么做?

为此可能最容易使用scanf -family,但这在很大程度上取决于数据的组织方式。 假设您有三列数字数据,并且您想要总结第三列,您可以循环这样的语句:( fileFILE* ,并使用fopen ,并循环直到文件末尾是到达)

 int n; fscanf(file, "%*d,%*d,%d", &n); 

并总结了这个问题。 如果文件中包含其他类型的数据,则需要相应地指定格式字符串。 如果不同的行具有不同类型的数据,则可能需要在字符串中搜索分隔符,然后选择第三个间隔。

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

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

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

您可能希望首先查看RFC 4180:逗号分隔值(CSV)文件的通用格式和MIME类型 ,然后查找相同的实现。 (请注意,逗号分隔值的概念早于RFC,并且有许多实现不符合该文档。)

我发现:

  • CCSV

平原c中没有其他人。 有很多c ++实现,大多数可能很容易适应c。