按格式读取csv文件内容
- string path = @"C:\Users\keen_\Downloads\upload\upload\Upload\20140701141934_export.csv";
- ImportDataTable(path);
- //2014-07-01
- //get csv file to datatable
- private static DataTable ImportDataTable(string filepath)
- {
- DataTable mydt = new DataTable("myTableName");
- mydt.Columns.Add("Data ID", System.Type.GetType("System.String"));
- mydt.Columns.Add("Field Name", System.Type.GetType("System.String"));
- mydt.Columns.Add("New Value", System.Type.GetType("System.String"));
- DataRow mydr;
- using (System.IO.StreamReader mysr = new System.IO.StreamReader(filepath))
- {
- int data;
- char current;
- StringBuilder text = new StringBuilder();
- IDictionary<int, List<string>> results = new Dictionary<int, List<string>>();
- bool isInYinHao = false; ;
- int lineId = ;
- int index = ;
- while (true)
- {
- data = mysr.Read();
- if (data != -)
- {
- current = (char)data;
- if (current == '"')
- {
- if (isInYinHao)
- {
- isInYinHao = false;
- }
- else
- {
- if (index > )
- {
- text.Append(current);
- }
- isInYinHao = true;
- }
- }
- else if (current == ',')
- {
- if (isInYinHao)
- {
- text.Append(current);
- }
- else
- {
- SaveResult(results, lineId, text);
- index = ;
- continue;
- }
- }
- else if (current == '\r')
- {
- if (isInYinHao)
- {
- text.Append(current);
- }
- }
- else if (current == '\n')
- {
- if (isInYinHao)
- {
- text.Append(current);
- }
- else
- {
- SaveResult(results, lineId, text);
- index = ;
- lineId++;
- continue;
- }
- }
- else if (current == '\0')
- {
- }
- else
- {
- text.Append(current);
- }
- index++;
- }
- else
- {
- //Read to file end.
- SaveResult(results, lineId, text);
- break;
- }
- }
- foreach (int id in results.Keys)
- {
- mydr = mydt.NewRow();
- for (int i = ; i < results[id].Count; i++)
- {
- if (i > )
- {
- break;
- }
- mydr[i] = results[id][i];
- }
- mydt.Rows.Add(mydr);
- }
- }
- return mydt;
- }
- private static void SaveResult(IDictionary<int, List<string>> results, int lineId, StringBuilder text)
- {
- if (!results.ContainsKey(lineId))
- {
- results.Add(lineId, new List<string>());
- }
- results[lineId].Add(text.ToString());
- text.Remove(, text.Length);
- }
按格式读取csv文件内容的更多相关文章
- Python中读取csv文件内容方法
gg 224@126.com 85 男 dd 123@126.com 52 女 fgf 125@126.com 23 女 csv文件内容如上图,首先导入csv包,调用csv中的方法reader()创建 ...
- 《手把手教你》系列技巧篇(六十九)-java+ selenium自动化测试 - 读取csv文件(详细教程)
1.简介 在实际测试中,我们不仅需要读取Excle,而且有时候还需要读取CSV类的文件.如何去读取CSV的文件,宏哥今天就讲解和分享一下,希望对你能够有所帮助.前面介绍了如何读取excel文件,本篇介 ...
- python之小应用:读取csv文件并处理01数据串
目的:读取csv文件内容,把0和1的数据串取出来,统计出现1的连续次数和各次数出现的频率次数 先读取csv文件内容: import csv def csv_read(file): list = [] ...
- C#:StreamReader读取.CSV文件(转换成DataTable)
using System.Data; using System.IO; /// <summary> /// Stream读取.csv文件 /// </summary> /// ...
- selenium3 文件系列之------ opencsv读取csv文件
最近在学习selenium有关文件的读取测试,今天先总结一下如何读取csv文件.CSV的定义是与逗号分隔的值(Comma-Separated Values),在Java中需要用到第三方lib去处理读取 ...
- VB6.0 读取CSV文件
最近做了一个Upload文件的需求,文件的格式为CSV,读取文件的方法整理了一下,如下: 1.先写了一个读取CSV文件的Function: '读取CSV文件 '假设传入的参数strFile=C:\Do ...
- PHP读取Excel文件内容
PHP读取Excel文件内容 项目需要读取Excel的内容,从百度搜索了下,主要有两个选择,第一个是PHPExcelReader,另外一个是PHPExcel. PHPExcelReader比较 ...
- 手工创建tomcat应用,以及实现js读取本地文件内容
手工创建tomcat应用: 1.在webapps下面新建应用目录文件夹 2.在文件夹下创建或是从其他应用中复制:META-INF,WEB-INF这两个文件夹, 其中META-INF清空里面,WEB-I ...
- 使用POI读取excel文件内容
1.前言 项目中要求读取excel文件内容,并将其转化为xml格式.常见读取excel文档一般使用POI和JExcelAPI这两个工具.这里我们介绍使用POI实现读取excel文档. 2.代码实例: ...
随机推荐
- NYOJ542-试制品
题目链接:点击打开链接 试 制 品 时间限制:1000 ms | 内存限制:65535 KB 难度: 描述 ZZ大学的Dr.Kong最近发现实验室的很多试制品都已经用完.由于项目经费有限,为了节省 ...
- 提升Exadata 计算节点本地IO性能
1.问题概述 某客户有一台Exadata X2-2,每个计算节点是4块普通的本地SAS硬盘做成的RAID5,然后在RAID5的本地硬盘上创建了一个文件系统来存放DSG数据同步软件,在后续的运维过程中, ...
- Vs 排除的文件➕ 添加回项目。。。。
显示所有文件之后吧,就能看到排除掉的文件了.右键之前的文件,包括在项目中即可.
- t.call is not a function
js 写错了... 代码: $("form").each({$(this).submit(function(){return false;})}); 丢了一个 function() ...
- Gym 101047K Training with Phuket's larvae
http://codeforces.com/gym/101047/problem/K 题目:给定n<=2000条绳子,要你找出其中三条,围成三角形,并且要使得围成的三角形面积最小 思路: 考虑一 ...
- Unity WWW下载图片并保存到Unity的Assets下
1.新建一个UGUI的Image. 2.新建一个脚本wwwTest.cs: using System.Collections; using System.Collections.Generic; us ...
- Unity Gizmos绘制指定长宽的网格
using UnityEngine; using System.Collections; public class GridMap : MonoBehaviour { ; //宽度 ; //长度 vo ...
- (转)Linux系统stat指令用法
<Linux系统stat指令用法> 原文:https://www.cnblogs.com/linux-super-meng/p/3812695.html stat指令:文件/文件系统的详 ...
- Oracle视图,索引,序列
什么是视图[View] (1)视图是一种虚表 (2)视图建立在已有表的基础上, 视图赖以建立的这些表称为基表(3)向视图提供数据内容的语句为 SELECT 语句,可以将视图理解为存储起来的 SELEC ...
- 全栈工程师,也叫全端工程师,英文FullStackdevelopver。是指掌握多种技能,并能利用多种技能独立完成产品的人。
全栈工程师的发展 在系统全面的大公司,全栈工程师并没有一个稳定的发展职位.我无比赞同知乎那个帖子里面这样的一句话: 一个真正的全栈工程师,目标只有一个:创业. 听起来有些悲凉,但事实就是如此.任何一个 ...