如何使用for循环一次读取一个csv文件? [英] how to use for loop to read csv file one at a time?
本文介绍了如何使用for循环一次读取一个csv文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
string todate = txtToDate1.Text;
string fromtime = DropDownList2.SelectedItem.Text;
string totime = DropDownList3.SelectedItem.Text;
string fromdatetime = fromdate + _ + fromtime;
string todatetime = todate + _ + totime;
con.ConnectionString = constr;
// 为命令对象创建实例
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = con;
// 在以下查询中设置您的文件名
cmd.CommandText = select * from + fromdatetime + 。csv;
// 打开Oledb连接以读取CSV文件
con.Open();
// 创建一个数据表来存储CSV文件中的数据
DataTable dt = new DataTable();
// 将数据加载到数据表中
dt.Load (cmd.ExecuteReader());
string fromdatetime is像12162013_0730.csv和字符串todatetime之类的东西就像12162013_0930.csv ...我如何使用for循环来读取fromdatetime todatetime之间的文件...阅读12162013_0730.csv,12162013_0830.csv,12162013_0930.csv,一个文件一次。
解决方案
您好b $ b这可能对您有帮助..
string strfrom = 12162013_0730;
string strto = 12162013_1030跨度>;
var 来自 = DateTime.ParseExact(strfrom, MMddyyyy_hhmm,CultureInfo.InvariantCulture);
var to = DateTime.ParseExact(strto, MMddyyyy_hhmm,CultureInfo.InvariantCulture);
double interval = 60 ;
List< string> lstDateString = new List< string>();
lstDateString.Add(strfrom);
while ( from .AddMinutes(interval)!= to)
{
lstDateString.Add( from .AddMinutes(interval).ToString( < span class =code-string> MMddyyyy_hhmm));
interval = interval + 60 ;
}
lstDateString.Add(strto);
foreach ( string datestring in lstDateString)
{
string csv = datestring + 。csv;
// 您的编码在这里..
}
string todate = txtToDate1.Text;
string fromtime = DropDownList2.SelectedItem.Text;
string totime = DropDownList3.SelectedItem.Text;
string fromdatetime = fromdate + "_" + fromtime;
string todatetime = todate + "_" + totime;
con.ConnectionString = constr;
//create instance for command object
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = con;
// set your file name in the below query
cmd.CommandText = "select * from " + fromdatetime + ".csv ";
//Open Oledb Connection to read CSV file
con.Open();
//Create one datatable to store data from CSV file
DataTable dt = new DataTable();
// Load Data into the datatable
dt.Load(cmd.ExecuteReader());
string fromdatetime is something like 12162013_0730.csv and string todatetime is something like 12162013_0930.csv...how can i use for loop to read the file in between the fromdatetime todatetime... read 12162013_0730.csv ,12162013_0830.csv,12162013_0930.csv, one file at a time.
解决方案
Hi This might help you..
string strfrom = "12162013_0730"; string strto = "12162013_1030"; var from = DateTime.ParseExact(strfrom, "MMddyyyy_hhmm", CultureInfo.InvariantCulture); var to = DateTime.ParseExact(strto, "MMddyyyy_hhmm", CultureInfo.InvariantCulture); double interval = 60; List<string> lstDateString = new List<string>(); lstDateString.Add(strfrom); while (from.AddMinutes(interval) != to) { lstDateString.Add(from.AddMinutes(interval).ToString("MMddyyyy_hhmm")); interval = interval + 60; } lstDateString.Add(strto); foreach (string datestring in lstDateString) { string csv = datestring + ".csv"; // your coding here.. }
这篇关于如何使用for循环一次读取一个csv文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文