HOME 首页
SERVICE 服务产品
XINMEITI 新媒体代运营
CASE 服务案例
NEWS 热点资讯
ABOUT 关于我们
CONTACT 联系我们
创意岭
让品牌有温度、有情感
专注品牌策划15年

    c++读取csv(c读取csv文件)

    发布时间:2023-03-13 04:03:51     稿源: 创意岭    阅读: 76        问大家

    大家好!今天让创意岭的小编来大家介绍下关于c++读取csv的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。

    ChatGPT国内免费在线使用,一键生成原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等

    只需要输入关键词,就能返回你想要的内容,越精准,写出的就越详细,有微信小程序端、在线网页版、PC客户端

    官网:https://ai.de1919.com

    本文目录:

    c++读取csv(c读取csv文件)

    一、用c语言读取csv文件中的一列数据并求这些数据的平均值

    #include <stdio.h>

    void main()

    {

    int i,n=0;

    float x[1000],val;

    FILE *fp;

    if((fp=fopen("test.csv","rt"))==NULL)

    {

    printf("cannot open file\n");

    return;

    }

    while (1)

    {

    if(fscanf(fp,"%f,", &val) == EOF) break;

    x[n]=val;

    n++;

    }

    fclose(fp);

    val=0;

    for(i=0;i<n;i++)

    val+=x[i];

    if(n>0) val=val/n;

    printf("%g\n",val);

    }

    二、vs2010 c程序读取csv文件

    csv是按逗号分隔的

    如果确定有且只有两列

    那么循环用

    fscanf(fp, "%f,%f", &a[i], &b[i]);

    即可

    其中fp为打开的文件指针 a b是你的目标数组

    i为读入的下标

    判断fscanf返回值 或者读后判断feof可以确定终止条件

    三、c# 读取csv文件 内容含逗号

    #region 读Csv,静态方法

    /// <summary>

    /// 静态方法,读取规则的2维表的Csv成DataSet

    /// </summary>

    /// <param name="fileFullPath">全路径,包括文件名</param>

    /// <returns>DataSet</returns>

    public static DataTable Csv2DataSet(string fileFullPath)

    {

        int intColCount = 0;

        bool blnFlag = true;

        DataTable mydt = new DataTable("myTableName");

        DataColumn mydc;

        DataRow mydr;

        string strpath = fileFullPath; //cvs文件路径

        string strline;

        string[] aryline;

        System.IO.StreamReader mysr = new System.IO.StreamReader(strpath, Encoding.Default);

        while ((strline = mysr.ReadLine()) != null)

        {

            List<string> ss = new List<string>();

            aryline = strline.Split(new char[] { ',' });

            if (strline.IndexOf(""") > -1)

            {

                for (int i = 0; i < aryline.Length; i++)

                {

                    if (aryline[i].Contains("""))

                    {

                        ss.Add(aryline[i] + "," + aryline[++i]);

                        if (i == aryline.Length - 1)

                        {

                            break;

                        }

                    }

                    else

                    {

                        ss.Add(aryline[i]);

                    }

                }

            }

            else

            {

                ss.AddRange(aryline);

            }

            if (blnFlag)

            {

                blnFlag = false;

                intColCount = ss.Count;

                for (int i = 0; i < intColCount; i++)

                {

                    mydc = new DataColumn(ss[i]);

                    mydt.Columns.Add(mydc);

                }

            }

            mydr = mydt.NewRow();

            for (int i = 0; i < intColCount; i++)

            {

                mydr[i] = ss[i];

            }

            mydt.Rows.Add(mydr);

        }

        return mydt;

    }

    #endregion

    四、C语言 fgets函数读取CSV文件如何从第二行开始,第一行是表头。

    第一次获取的数据不要就可以了,何必这么麻烦。

    函数原型:

    char *fgets(char *buf, int bufsize, FILE *stream);

    参数:

    *buf: 字符型指针,指向用来存储所得数据的地址。

    bufsize: 整型数据,指明存储数据的大小。

    *stream: 文件结构体指针,将要读取的文件流。

    返回值:

    成功,则返回第一个参数buf;

    在读字符时遇到end-of-file,则eof指示器被设置,如果还没读入任何字符就遇到这种情况,则buf保持原来的内容,返回NULL;

    如果发生读入错误,error指示器被设置,返回NULL,buf的值可能被改变。

    例子:

    #include<string.h>

    #include<stdio.h>

    int main ( void )

    {

        FILE*stream;

        char string[]="Thisisatest";

        char msg[20];

    /*openafileforupdate*/

        stream=fopen("DUMMY.FIL","w+");

    /*writeastringintothefile*/

        fwrite(string,strlen(string),1,stream);

    /*seektothestartofthefile*/

        fseek(stream,0,SEEK_SET);

    /*readastringfromthefile*/

        fgets(msg,strlen(string)+1,stream);

    /*displaythestring*/

        printf("%s",msg);

        fclose(stream);

        return 0;

    }

    以上就是关于c++读取csv相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。


    推荐阅读:

    c++读取csv(c读取csv文件)

    ChatGPT中文版VSCode插件(vscodec++插件)

    c++会被淘汰吗(c会被淘汰吗)

    沈师景观设计实习(沈阳景观设计师)

    江苏苏州景观设计快题(苏大2020景观快题)