#include"string.h"
#include<stdlib.h>
#include<conio.h>
struct Data{
char name[3]
char place[7]
char degree[7]
}
void main()
{
FILE *fr
int i
struct Data m
int count = 0
struct Data man[3] = { {"01","200801","2323.5"},{"02","200802","2656.9"},{"03","200803","5652.4"}
}
if((fr = fopen("test.csv","wt+")) == NULL)
{
printf("wrong")
exit(0)
}
for (i = 0i <3++i)
{
fprintf(fr,"%s,%s,%s\n",man[i].name,man[i].place,man[i].degree)////这样输出,用逗号隔开的
}
rewind(fr)
do
{
++count
fgets(m.name,3,fr)
fseek(fr,1L,1)
fgets(m.place,7,fr)
fseek(fr,1L,1)
fgets(m.degree,7,fr)
printf("%s\t%s\t%s\n",m.name,m.place,m.degree)
fseek(fr,2L,1)
}while(count <3)
fclose(fr)
getch()
}
c井号csv文件的读写速度快。根据查询相关公开信息显示,c井号csv文件是只要读不要文件处理,几千万行仅需10分钟,相对于其他的转换格式快了几十倍,读写速度很快。csv是逗号分隔值文件格式,可以用电脑自带的记事本或excel打开,csv其文件以纯文本形式存储表格数据。导入 *** 作存在特殊字符情况的处理
Book1.csv
编号,名称,说明1,测试数据1,"测试CSV文件中,有逗号"2,测试数据2,"测试CSV文件中有""双引号"""3,测试数据3,"测试CSV文件中,有逗号和""双引号"""4,测试数据4,普通数据
mysql>CREATE TABLE Test_Book1 (
->id int,
->name VARCHAR(10),
->data VARCHAR(100)
->)
Query OK, 0 rows affected (0.05 sec)
下面的 lines terminated by '\r\n' 是 要求换行符号,为 windows的换行
下面的 ignore 1 lines是 忽略第一行的标题行。
mysql>LOAD DATA INFILE 'f:/Book1.csv'
->INTO TABLE Test_Book1
->FIELDS TERMINATED BY ','
->OPTIONALLY ENCLOSED BY '"'
->lines terminated by '\r\n'
->ignore 1 lines
->(id, name, data)
Query OK, 4 rows affected (0.00 sec)
Records: 4 Deleted: 0 Skipped: 0 Warnings: 0
mysql>select * from test_book1
+------+-----------+--------------------------------+
| id | name | data |
+------+-----------+--------------------------------+
| 1 | 测试数据1 | 测试CSV文件中,有逗号 |
| 2 | 测试数据2 | 测试CSV文件中有"双引号" |
| 3 | 测试数据3 | 测试CSV文件中,有逗号和"双引号" |
| 4 | 测试数据4 | 普通数据 |
+------+-----------+--------------------------------+
4 rows in set (0.00 sec)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)