读取test.csv文件代码(读取csv文件 java)

http://www.itjxue.com  2023-04-07 02:44  来源:未知  点击次数: 

关于C语言读CSV文件的问题

csv文件即逗号分隔值文件。

逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。

纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。

CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。

要用C语言读取CSV,首先需要确定文件中定义的字符分隔值,以及每一行各个列的元素格式。

如果所有的元素格式相同,那么可以每行一个一维数组,所有行组成一个二维数组,逐个元素进行读取。

如果元素格式不同,可以按照元素类型,构建一个结构体,每行读到一个结构体变量中,所有行组成一个结构体数组。

下面根据两种情况,按照分隔符为逗号(,),分别举一个例子:

文件名设定为in.csv,每行10个元素。

一、所有元素均相同类型,比如int型。

#include?stdio.h

int?main()

{

????FILE*fp;

????int?a[100][10];//定义一个足够大的数组来存储。

????int?line?=?0;

????int?c,?i;

????

????fp?=?fopen("in.csv",?"r");?//?以文本方式打开。

????if(fp?==?NULL)?return?-1;?//?打开文件失败。

????while(1)

????{

????????i=0;//列标记清零。

????????while(1)

????????{

????????????fscanf(fp,?"%d",?a[line][i]);//从文件中读取一个元素。

????????????c?=?getchar();//读取下一个字符,可能是分隔符,换行符或文件结尾。

????????????if(c?==?'\n'||c?==?EOF)break;//读完一行,或者到文件结尾,退出读取。

????????????i++;

????????}

????????line?++;

????????if(c?==?EOF)?break;

????}

????

????fclose(fp);?//关闭文件。

????//以下循环用来打印所有读到的值。

????for(i?=?0;?i??line;?i?++)

????{

????????for(c?=?0;?c??10;?c?++)

????????????printf("%d?",?a[i][c]);

????????printf("\n");

????}???????

}

二、每行元素不同。

比如共三列,第一列是int型,第二列是字符串,第三列是float型。

如果分隔符不是空白字符,或者字符串元素中可能存在除分隔符外的其它空白字符,在读取字符串的时候是不能用fscanf函数的。

定义结构体如下

strcut?data

{

????int?a;

????char?s[100];?//根据实际要求,定义足够大的字符数组。

????float?f;

};

读取代码如下:

#include?stdio.h

int?main()

{

????FILE*fp;

????strcut?data?a[100];//定义一个足够大的结构体一维数组来存储。

????int?line?=?0;

????int?c,i;

????

????fp?=?fopen("in.csv",?"r");?//?以文本方式打开。

????if(fp?==?NULL)?return?-1;?//?打开文件失败。

????while(1)

????{

????????fscanf(fp,?"%d",?a[line].a);//从文件中读取第一个元素。

????????c?=?getchar();//读取分隔符。

????????//接下来要读取字符串,需要逐个字符读入,直到出现分隔符为止。

????????i?=?0;

????????while(1)

????????{

????????????a[line].s[i]?=?getchar();//读入一个字符。

????????????if(a[line].s[i]?==?',')//发现分隔符

????????????{

????????????????a[line].s[i]='\0';?//赋值字符串结束符。

????????????????break;//退出读取字符串。

????????????}

????????????i++;

????????}

????????//由于在读字符串的时候分隔符已经被读取,这里不需要读分隔符,而是直接读下一个元素。

????????fscanf(fp,?"%f",?a[line].f);//从文件中读取最后一个元素。

????????c?=?getchar();//读取下一个字符,可能是换行符或文件结尾。

????????line?++;

????????if(c?==?EOF)?break;//到文件结尾,退出读取。

????}

????

????fclose(fp);?//关闭文件。

????//以下循环用来打印所有读到的值。

????for(i?=?0;?i??line;?i?++)

????{

????????printf("%d?%s?%f\n",?a[i].a,?a[i].s,?a[i].f);

????}???????

}

使用jmeter测试的时候,需要读取csv文件的第三列,csv文件名为test.csv,如何使用函数读取?

Jmeter中添加配置原件-csv data set config

然后配置自己的csv文件就可以了

python中怎么读取csv文件

Python读取CSV文件方法如下:

如下是一个CVS文件

使用Python打开CSV可以直接使用open函数打开,然后使用reader函数读取内容,实现代码如下:

运行结果如下:

更多Python相关技术文章,请访问Python教程栏目进行学习!以上就是小编分享的关于python中怎么读取csv文件的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!

请问如何用C# 读取csv中的数据,然后存入数组(或集合)中

using(StreamReader?reader?=?new?StreamReader("test.csv"))

{

????Liststring[]?csvList?=?new?Liststring[]();

????string?line?=?reader.ReadLine();

????while(line!="")

????{

????????csvList.Add(line.Split(','));//如果其他分隔符替换掉就OK了

????????line?=?reader.ReadLine();

????}

}

(责任编辑:IT教学网)

更多

推荐测评专题文章