如何将csv文件中的数据读取到C#控制台应用程序中 [英] how to read data from csv file into C# console Application
本文介绍了如何将csv文件中的数据读取到C#控制台应用程序中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
using System;
namespace jagged_array
{
class Program
{
static void Main(string[] args)
{
string[][] Members = new string[10][]{
new string[]{"amit","amit@gmail.com", "9999999999"},
new string[]{"chandu","chandu@gmail.com","8888888888"},
new string[]{"naveen","naveen@gmail.com", "7777777777"},
new string[]{"ramu","ramu@gmail.com", "6666666666"},
new string[]{"durga","durga@gmail.com", "5555555555"},
new string[]{"sagar","sagar@gmail.com", "4444444444"},
new string[]{"yadav","yadav@gmail.com", "3333333333"},
new string[]{"suraj","suraj@gmail.com", "2222222222"},
new string[]{"niharika","niharika@gmail.com","11111111111"},
new string[]{"anusha","anusha@gmail.com", "0000000000"},
};
for (int i =0; i < Members.Length; i++)
{
System.Console.Write("Name List ({0}):", i + 1);
for (int j = 0; j < Members[i].Length; j++)
{
System.Console.Write(Members[i][j] + "\t");
}
System.Console.WriteLine();
}``
Console.ReadKey();
}
}
}
上面是我的C#控制台程序的代码,其中我使用了锯齿状数组,并且我手动分配了值,但是现在我的要求是不手动分配到数组中,我希望将相同的详细信息从csv导入到我的程序中文件(位于光盘中的某个位置)。因此,该如何使用我应该使用的功能,请提供一些示例帮助我。谢谢。
The above is the code for my C# console program in which i used jagged array and i assigned values manually but now my requirement is 'without assigning manually into array i want the same details to import into my program from an csv file(which is at some location in my disc). So how to do it what functions should i make use , please help me with some example. Thank you.
推荐答案
static void Main()
{
string csv_file_path=@"C:\Users\Administrator\Desktop\test.csv";
DataTable csvData = GetDataTabletFromCSVFile(csv_file_path);
Console.WriteLine("Rows count:" + csvData.Rows.Count);
Console.ReadLine();
}
private static DataTable GetDataTabletFromCSVFile(string csv_file_path)
{
DataTable csvData = new DataTable();
try
{
using(TextFieldParser csvReader = new TextFieldParser(csv_file_path))
{
csvReader.SetDelimiters(new string[] { "," });
csvReader.HasFieldsEnclosedInQuotes = true;
string[] colFields = csvReader.ReadFields();
foreach (string column in colFields)
{
DataColumn datecolumn = new DataColumn(column);
datecolumn.AllowDBNull = true;
csvData.Columns.Add(datecolumn);
}
while (!csvReader.EndOfData)
{
string[] fieldData = csvReader.ReadFields();
//Making empty value as null
for (int i = 0; i < fieldData.Length; i++)
{
if (fieldData[i] == "")
{
fieldData[i] = null;
}
}
csvData.Rows.Add(fieldData);
}
}
}
catch (Exception ex)
{
}
return csvData;
}
这篇关于如何将csv文件中的数据读取到C#控制台应用程序中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文