c# 格式化文本txt,csv的指定列

从文本文件csv,txt 等文件内读出指定列方法多种现用微软自带的 ODBC桥接方式读取指定列。

 public static System.Data.DataSet LoadTxtFile(int numberOfRows)
        {
            System.Data.DataSet ds = new System.Data.DataSet();
            //try
            //{
            // Creates and opens an ODBC connection
            string strConnString = "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=D:\\;Extensions=asc,csv,tab,txt;Persist Security Info=False; HDR = YES;FMT = TabDelimiter"; 
            //string strConnString = "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=D:\\;Extensions=asc,csv,tab,txt;Persist Security Info=False; HDR = NO;FMT = Delimited(|)"; 
            
            string sql_select;
            //string connString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dataSourcePath + @";Extended Properties=""text;HDR=NO;FMT=TabDelimiter""";  
            using (System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection(strConnString.Trim()))
            {
                conn.Open();
                sql_select = "select top " + 10 + " * from [A3.txt]";
                //Creates the data adapter
                System.Data.Odbc.OdbcDataAdapter obj_oledb_da = new System.Data.Odbc.OdbcDataAdapter(sql_select, conn);

                //Fills dataset with the records from CSV file
                obj_oledb_da.Fill(ds, "TB");
                System.Data.DataView view = new System.Data.DataView(ds.Tables[0]);
                //closes the connection
                System.Data.DataTable dt = view.ToTable(true, "COLUMN9", "COLUMN0", "COLUMN1");
                conn.Close();
            }
            return ds;

        }

 


TabDelimiter 为\t制表符 也可以是其他的 如,|等分隔符 若本机注册表内默认分隔符为 Delimited(|)需要改注册表内指定值

当然也可直接用StreamReader读指定行指定列暂不做补充


转载于:https://www.cnblogs.com/senion/archive/2012/12/06/2804746.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值