导航:首页 > 网络数据 > c大数据导出csv

c大数据导出csv

发布时间:2022-12-18 14:07:07

① C++ 输出结果到CSV或者Excel文件

#include<fstream>

usingnamespacestd;

intmain()
{
//定义文件输出流
ofstreamoFile;

//打开要输出的文件
oFile.open("scoresheet.csv",ios::out|ios::trunc);
oFile<<"姓名"<<","<<"年龄"<<","<<"班级内"<<","<<"班主任"<<endl;
oFile<<"张三"<<","<<"22"<<","<<"1"<<","<<"JIM"<<endl;
oFile<<"李四"<<","<<"23"<<","<<"3"<<","<<"TOM"<<endl;

oFile.close();
}

这样在你的工程容目录下面你就会发现一个叫scoresheet.csv的文件了。

注意:这里的”,“就相当于EXCEL表格的每一列,不能省略。


谢谢,望采纳

② 求教:大数据量导出 Excel

不带格式的:
1、 直接写csv文件。
2、COM调用adodb操作excel读取
想要带格式的标准xls文件:
请用COM调用adodb读取,然后调用excel.application格式化。

其他的方法就是扯淡,别给我说
1、phpexcel,那资源消耗只适合玩单机,兼容性也不够!
2、pear的可以带格式输出,但兼容性很差,经常打不开
3、xml方式,制作模板 比较费时。

总结:不带格式,就用csv最简单

想带格式就用adodb+excel.application来操作,(注意:excel 格式化很慢,adodb导出很快,带格式写excel就是个悲剧!)

③ 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);
}
}

④ 如何导出 CSV 文件

Outlook Express依次打开“文件抄”袭 -> “导出” -> “通讯簿”;选择“文本文件(以逗号分隔)”,点击“导出”;点击“浏览”,选择导出文件的位置和文件名,再点击“下一步”;选择要导出的域(保持默认即可),点击“完成”。Foxmail依次打开“工具” -> “地址簿”;在“地址簿”对话框,依次打开“工具” -> “导出” -> “CSV文件”;点击“浏览”,选择导出文件的位置和文件名,再点击“下一步”;选择要导出的字段(保持默认即可),点击“完成”。DreamMail 3依次打开“工具” -> “通讯录”;在“通讯录”对话框,依次打开“文件” -> “导出CSV文件”;选择导出文件的位置和文件名,再点击“保存”。DreamMail 4依次打开“文件” -> “通讯录导入导出” -> “导出CSV文件”;选择导出文件的位置和文件名,再点击“保存”。

⑤ 如何将csv导入mysql和mysql导出csv

(1):mysql 下导出为指定格式的数据的外部任意文件类型 mysql>
use dbname
Database Changed
select * from pollution into outfile 'G:\\arcgisworkspace\\zypdoc\\text.txt'; (指导出数据的,注意转义字符哦)
SELECT * FROM pollution INTO OUTFILE 'G:\\arcgisworkspace\\zypdoc\\text.csv' FIELDS TERMINATED BY '\,'; (输出格式控制)
结果为:
1,汽车尾气,200
2,建筑扬沙,180
3,汽车喷漆,160
4,燃煤,240
5,其它,80
(2) 知识补充:

其中option参数常用的5个选项
FIELDS TERMINATED BY ‘字符串’:设置字符串为字段的分割符,默认值为 \t;
FIELDS ENCLOSED BY ‘字符’:设置字符串括上char varchar text等字符型字段,默认值为 无任何符号;
FIELDS OPTIONALLY ENCLOSED BY ‘字符’:设置字符串括上字段的值,默认值为 无任何符号;
LINES STARTING BY ‘字符串’:设置每一行开头的字符,默认值为 无任何字符;
FIELDS ESCAPED BY ‘字符’:设置转义字符,默认值为 \;
LINES TERMINATED BY ‘字符串’:设置每行结束符,默认值为 \n;
如:
SELECT * FROM pollution INTO OUTFILE 'G:\\arcgisworkspace\\zypdoc\\text2.csv'
FIELDS TERMINATED BY '\,' OPTIONALLY ENCLOSED BY '\"'
LINES STARTING BY '\>' TERMINATED BY '\r\n';

结果为:
>1,"汽车尾气","200"
>2,"建筑扬沙","180"
>3,"汽车喷漆","160"
>4,"燃煤","240"
>5,"其它","80"
(3):mysqlmp 下导出为指定格式的数据的外部任意文件类型 C:\Program Files\MySQL\MySQL Server 5.5\bin>
mysqlmp -u root -p -T G:\arcgisworkspace\zypdoc\ abc pollution "--fields-terminated-by=," (记住不要任何多余的空格,也不用转移字符;-p后面也不用写password;注意目
标目录是文件夹,文件名是表名,后缀是txt文件)

⑥ C语言读取csv大文件以及结果的存储问题

y+=atof(stt[7]); 时,stt[7]的值突然被改变了,第二次循环时,甚至只执行到hx+=atof(stt[6]); stt[6]也被改变了.

我认为问题是由于strtok是不安全所导致的,它生成的字符串数组可能被其他线程修改.

我建议你用sscanf来读取字符串中的数字,比如:

#include "string.h"
#include "math.h"
void main()
{
FILE *fp; /*定义一个文件指针*/
double sx,yw,wl,hx,yy;
int i;
char str[81];
double score[5];
sx=yw=wl=hx=yy=0;
fp=fopen("分数表.csv", "rb"); /*打开文件只读*/
for(i=0;!feof(fp);i++)
{
fscanf(fp,"%s\n",str);
sscanf(str+17,"%lf,%lf,%lf,%lf,%lf",score,score+1,score+2,score+3,score+4);
sx+=score[0];
yw+=score[1];
wl+=score[2];
hx+=score[3];
yy+=score[4];
}
printf("%f,%f,%f,%f,%f\n",sx,yw,wl,hx,yy);
fclose(fp);
}
另外,站长团上有产品团购,便宜有保证

阅读全文

与c大数据导出csv相关的资料

热点内容
adp文件如何打开 浏览:531
ug编程怎么导出零件 浏览:586
asp在线文件管理系统 浏览:468
tks文件如何分解 浏览:132
java7tmd32位 浏览:49
网络公司关键词 浏览:925
vivo手机的便签文件夹是哪个 浏览:672
win10升级助手未激活 浏览:530
浏览器保存密码在哪个文件 浏览:691
sitemap代码 浏览:108
数据库的使用过程 浏览:761
excel怎么用高级筛选数据 浏览:438
js中怎么设置css样式 浏览:724
商业网站模板下载 浏览:548
c怎么调用数据库 浏览:438
vue封装js方法 浏览:705
电脑文件夹蓝色的 浏览:713
tp无线网设置管理密码忘记了怎么办 浏览:386
ipa里资源文件 浏览:110
苹果的文件管理在那里 浏览:633

友情链接