c语言读取csv文件数据中的某一列
时间: 2023-09-02 08:10:01 浏览: 422
c语言读取csv
5星 · 资源好评率100%
要读取 CSV 文件中的某一列,你可以按照以下步骤进行:
1. 打开 CSV 文件,使用 fopen 函数。
2. 使用 fgets 函数逐行读取 CSV 文件中的数据。每一行读取后,需要使用 strtok 函数对字符串进行分割,得到每一列的数据。
3. 如果要读取某一列,只需要在分割后得到的数组中取出对应下标的元素即可。
以下是一个示例代码,假设要读取第二列的数据:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LINE_LEN 1024
#define MAX_COL_NUM 10
int main() {
FILE *fp;
char line[MAX_LINE_LEN];
char *token;
char *col[MAX_COL_NUM];
int col_num = 0;
int target_col = 1; // 第二列的下标为 1
fp = fopen("data.csv", "r");
if (fp == NULL) {
printf("Failed to open file\n");
return 1;
}
// 逐行读取文件
while (fgets(line, MAX_LINE_LEN, fp) != NULL) {
col_num = 0;
token = strtok(line, ",");
while (token != NULL) {
col[col_num++] = token;
token = strtok(NULL, ",");
}
// 读取目标列的数据
if (col_num > target_col) {
printf("%s\n", col[target_col]);
}
}
fclose(fp);
return 0;
}
```
在上面的示例代码中,我们使用逗号作为分隔符,因此使用 strtok 函数进行分割时,第二个参数为逗号。如果要使用其他的分隔符,只需要修改即可。
阅读全文