救命啊!!现场求助!!!!大神快来!!!
CSV 规则 :1、每一行数据包含多个字段,字段间以[,]分割.
2、如果字段值不含有[,]和["],直接输出.
3、如果字段值含有[,],两边加上["],读入时执行相反操作.
4、如果字段值含有["],两边加上["],值中的一个双引号["]替换为两个双引号[""],读入时执行相反操作.
说明:
1、可以假设单个字段值只包含一行数据,即字段值本身不含有[回车换行]
2、不能对文件csv.txt作任何修改
3、编码过程中,可以查阅本机MSDN
编程要求 (.Net/C#):
写一个应用程序,可以是winform\webform,读入文件cvs.txt
将第一列转为整形(int)
第二列为字符串型
第三列为字符串型
第四列转为浮点数(float, 可选作)
第五列转为日期类型(DateTime, 可选作)
将数据读入到DataTable中,用DataGrid显示
------------- 题目 -------------
------------------------------------------------
1,Jhon,"游泳,""飞""",44.6,1875-8-21
2,Kate,散步,88.6,2000-2-16
3,Jerry,"游泳,爬山",55.6,1988-2-16
在面试真心跪求求详细步骤 --------------------编程问答-------------------- 题都没读懂,出题的sz。 --------------------编程问答-------------------- 生成一个DataTable
用StringReader不停的读数据,遇到","读一个元素,遇到"\r\n",一行读完。
话说:你连面试都要别人帮忙,就算得到这个工作,能胜任么 --------------------编程问答-------------------- 帮你顶顶帖子先、
--------------------编程问答-------------------- 出题的这。。。。。。需要么?????这么偏的题去那公司也没什么用~~~~~~喜欢往极端发展人。 --------------------编程问答--------------------
我也没读懂。那个CSV规则好像有点语无伦次,然后其实写入数据库到是没什么难度 --------------------编程问答-------------------- 第一题好像我去年去新媒传信面试的上机题啊~ --------------------编程问答--------------------
提前说明,你的数据源文件不规范,请确保分割符号不是中文状态下的,下面读取数据.
--------------------编程问答-------------------- 楼上可以。作适当修改就行了
private static DataTable GetData()
{
string strLine;
string[] strArray;
char[] charArray = new char[] { ',' };
DataTable dt = new DataTable();
try
{
FileStream aFile = new FileStream(@"C:\Documents and Settings\Administrator\桌面\Test.txt", FileMode.Open);
StreamReader sr = new StreamReader(aFile,Encoding.GetEncoding("gb2312"));
//obtain the columns from the first line.
//split row of data into string array
strLine = sr.ReadLine();
strArray = strLine.Split(charArray);
DataRow first_dr = dt.NewRow();
for (int x = 0; x < strArray.Length; x++)
{
DataColumn dc = new DataColumn(x.ToString());
dt.Columns.Add(dc);
first_dr[x] = strArray[x];
}
dt.Rows.Add(first_dr);
strLine = sr.ReadLine();
while (strLine != null)
{
//split row of data into string array
DataRow dr = dt.NewRow();
strArray = strLine.Split(charArray);
for (int x = 0; x < strArray.Length; x++)
{
//行45
dr[x] = strArray[x];
}
dt.Rows.Add(dr);
strLine = sr.ReadLine();
}
sr.Close();
return dt;
}
catch (System.Exception ex)
{
return dt;
}
}
补充:.NET技术 , C#