如何使用for循环一次读取一个csv文件? [英] how to use for loop to read csv file one at a time?

查看:391
本文介绍了如何使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆