導航:首頁 > 網路數據 > 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相關的資料

熱點內容
ps入門必備文件 瀏覽:348
以前的相親網站怎麼沒有了 瀏覽:15
蘋果6耳機聽歌有滋滋聲 瀏覽:768
怎麼徹底刪除linux文件 瀏覽:379
編程中字體的顏色是什麼意思 瀏覽:534
網站關鍵詞多少個字元 瀏覽:917
匯川am系列用什麼編程 瀏覽:41
筆記本win10我的電腦在哪裡打開攝像頭 瀏覽:827
醫院單位基本工資去哪個app查詢 瀏覽:18
css源碼應該用什麼文件 瀏覽:915
編程ts是什麼意思呢 瀏覽:509
c盤cad佔用空間的文件 瀏覽:89
不銹鋼大小頭模具如何編程 瀏覽:972
什麼格式的配置文件比較主流 瀏覽:984
增加目錄word 瀏覽:5
提取不相鄰兩列數據如何做圖表 瀏覽:45
r9s支持的網路制式 瀏覽:633
什麼是提交事務的編程 瀏覽:237
win10打字卡住 瀏覽:774
linux普通用戶關機 瀏覽:114

友情鏈接