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

熱點內容
linuxshell變數累加 瀏覽:386
win10控制面板怎麼看 瀏覽:574
如何編程換裝游戲程序 瀏覽:269
怎麼登錄沭陽縣民政局網站 瀏覽:451
iphone6降級ios7 瀏覽:92
怎麼隱藏三星應用程序圖標不見了 瀏覽:203
可以兼職的app 瀏覽:493
iphone圓角圖標製作 瀏覽:659
建設銀行app怎麼申請 瀏覽:163
系統備份文件夾在哪 瀏覽:998
qq分組exo韓文 瀏覽:849
華碩裝裝win7系統教程視頻 瀏覽:407
什麼是數據直連 瀏覽:210
筆記本連接無線網路慢 瀏覽:486
壓縮文件怎麼控制在4m以內 瀏覽:1
indesign最新版本2016 瀏覽:300
為什麼壓縮文件窗口變小 瀏覽:904
居民醫保工行手機app怎麼繳費 瀏覽:602
圖論與網路流理論答案 瀏覽:913
安裝win10後需要輸入WiFi密碼嗎 瀏覽:412

友情鏈接