CSV文件是 逗号分隔值文件

内容基本是这么存的...

姓名,年龄,性别/r/n王有才,,男/r/n王二妞,,女 

一行值内用逗号 , 分开  行与行之间用  /r/n  分隔

说白了,他其实是一个字符串..按照一定的格式存储进文件..可以直接用文本文件打开..

邮箱,昵称,手机
"3595768@qq.com",test1,
"3595768@qq.com",test1,
"3595768@qq.com",test1,
"3595768@qq.com",test1,
"3595768@qq.com",test1,
"3595768@qq.com",test1,
"3595768@qq.com",test1,
"3595768@qq.com",test1,

所以我们可以直接用IO操作..把内容读取出来..

使用文件流的方式读取CSV文件
FileInfo file = new FileInfo(Server.MapPath(filePath));
StreamReader reader = new StreamReader(Server.MapPath(filePath));
string fileContent = reader.ReadToEnd();
reader.Close();
reader.Dispose();

fileContent就是对应的CSV文件的内容..可以使用固定的处理方式截取..断开每一行的数据然后分别处理..

使用表格的形式读取CSV文件

但是如果想要更好的处理的话..可以引用  lumenworks.framework.io.dll

下载地址:     http://download.csdn.net/detail/sunyanjie_china/8297731

添加引用

using LumenWorks.Framework.IO.Csv;

代码

DataTable dt = new DataTable(); //表
using (CsvReader csvReader = new CsvReader(new StreamReader(Server.MapPath(filePath), Encoding.Default, true), true))
{
string[] headers = csvReader.GetFieldHeaders();//标题数组
for (int i = ; i < csvReader.FieldCount; i++)
{
dt.Columns.Add(new DataColumn(headers[i]));
} while (csvReader.ReadNextRecord())
{
DataRow row = dt.NewRow();
for (int i = ; i < csvReader.FieldCount; i++)
{
row[i] = csvReader[i].Replace("\t", "").Replace(" ", "");
}
dt.Rows.Add(row);
}
}
导出数据成CSV文件
     SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Filter = "Execl files (*.xls)|*.xls";
saveFileDialog.FilterIndex = ;
saveFileDialog.RestoreDirectory = true;
saveFileDialog.CreatePrompt = true;
saveFileDialog.Title = "导出Excel文件到"; DateTime now = DateTime.Now;
saveFileDialog.FileName = now.Year.ToString().PadLeft()
+ now.Month.ToString().PadLeft(, '')
+ now.Day.ToString().PadLeft(, '') + "-"
+ now.Hour.ToString().PadLeft(, '')
+ now.Minute.ToString().PadLeft(, '')
+ now.Second.ToString().PadLeft(, ''); saveFileDialog.ShowDialog(); Stream myStream = saveFileDialog.OpenFile();
StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.GetEncoding("gb2312"));
string str = "";
try
{
//写标题
for (int i = ; i < dt.ColumnCount; i++)
{
if (i > )
{
str += "\t";
}
str += dt.Columns[i].HeaderText;
} sw.WriteLine(str);
//写内容
for (int j = ; j < dt.Rows.Count; j++)
{
string tempStr = "";
for (int k = ; k < dt.Columns.Count; k++)
{
if (k > )
{
tempStr += "\t";
}
tempStr += dt.Rows[j].Cells[k].Value.ToString();
}
sw.WriteLine(tempStr);
}
sw.Close();
myStream.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
sw.Close();
myStream.Close();
} //这个方式用的最多..也是最效率的方式导出成为CSV文件..大概20万条数据只需要十几秒的样子..非常方便
//在这里谢谢那些以前翻资料看到文章的那些大神..时间久了都忘却了是哪位..但是还是谢谢..

CSV文件的读取 导出的更多相关文章

  1. Python对于CSV文件的读取与写入

    今天天气"刚刚好"(薛之谦么么哒),无聊的我翻到了一篇关于csv文件读取与写入的帖子,作为测试小白的我一直对python情有独钟,顿时心血来潮,决定小搞他一下,分享给那些需要的小白 ...

  2. 深度学习原理与框架-递归神经网络-时间序列预测(代码) 1.csv.reader(进行csv文件的读取) 2.X.tolist(将数据转换为列表类型)

    1. csv.reader(csvfile) # 进行csv文件的读取操作 参数说明:csvfile表示已经有with oepn 打开的文件 2. X.tolist() 将数据转换为列表类型 参数说明 ...

  3. java 对CSV 文件的读取与生成

    CSV文件是以逗号分隔值的文件格式,一般用WORDPAD或记事本(NOTE),EXCEL打开.CSV(逗号分隔值)是一种用来存储数据的纯文本文件,通常都是用于存放电子表格或数据的一种文件格式,对于CS ...

  4. php对csv文件的读取,写入,输出下载操作

    在实际工作中,很多时候需要把网站上的一些数据下载到CSV文件里,方便以后查看. 亦或者是用CSV进行一些批量的上传工作. 这个时候我们就需要对CSV进行读写操作. 1.CSV的读取操作 <?ph ...

  5. python3 简单实现从csv文件中读取内容,并对内容进行分类统计

    新手python刚刚上路,在实际工作中遇到如题所示的问题,尝试使用python3简单实现如下,欢迎高手前来优化import csv #打开文件,用with打开可以不用去特意关闭file了,python ...

  6. python中csv文件的读取问题

    在python读取csv格式的文件时,使用csv.reader读取文件对象,出现了line contains NULL byte的错误,如下: reader = csv.reader(open(fil ...

  7. 图像处理项目——生成csv文件提高读取效率

    利用pyhton脚本生成csv文件 *开发环境为windows PyCharm*使用的是pyhton脚本*生成人脸和人脸对应的标签的csv文件 一:主要步骤 1.载入对应路径2.提取每一张图片对应的位 ...

  8. 【CSV文件】CSV文件内容读取

    CSV(逗号分隔值文件格式) 逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本).纯文本 ...

  9. csv文件的读取

    .csv Introduction CSV是一种常以逗号或者制表符分割的文件格式. 利用Excel创建一个csv文件 用记事本打开,实际上是这样子的: 读取csv文件 直接用open()打开 with ...

随机推荐

  1. Linux命令:修改文件权限命令chmod、chgrp、chown详解

    Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权 限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容,而 ...

  2. mybatis实战教程(mybatis in action),mybatis入门到精通

    转自:http://www.yihaomen.com/article/java/302.htm (读者注:其实这个应该叫做很基础的入门一下下,如果你看过hibernate了那这个就非常的简单) (再加 ...

  3. BuiltWith

    BuiltWith网站技术信息查询工具 利用该网站所提供的功能,你可以查询出某网站背后是由哪些技术来支持的, 比如操作系统的类型.所采用的访问量统计服务.采用的发布平台.广告平台.语言框架.聚合功能. ...

  4. asp.net mvc web api 可跨域方法

    1.直接修改 web.config ,不过这是针对所有 Action. <location path="Sample.txt"> <system.webServe ...

  5. 【poj3261】 Milk Patterns

    http://poj.org/problem?id=3261 (题目链接) 题意 给出n个数和k,求在给出的数中,最长的出现至少k次的可重叠子串. solution 后缀数组论文题,感觉分组思想可能会 ...

  6. SSD硬盘的4K对齐

    4K对应4096 硬盘模式: 一.让SSD运行在AHCI模式下: AHCI,全称Advanced Host Controller Interface,即高级主机控制器接口,相比老旧的“IDE“ 虚拟模 ...

  7. JUnit报错:java.lang.ClassNotFoundException:

    只要把Java--------compiler-------building-------Buil path problems ------- incomplete build path 和 Circ ...

  8. selenium.Phantomjs设置浏览器请求头

    from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCap ...

  9. 解决 Ubuntu 无法调节屏幕亮度的问题(转)

    转http://blog.163.com/tym190@126/blog/static/8776005920143192412477/ 终端输入代码:     在打开文件中找到 GRUB_CMDLIN ...

  10. jQuery焦点不在输入框内判断不能为空

    我能说JS和jquery有时候都有病吗?同样的代码,重敲一遍可以了,再过一会不行了.再试一下重敲,一模一样的代码,也不报错.就是不行.反复折腾.... 我帖上来的是经过了1个小时同等功能的测试OK的, ...