首页 > 其他分享 >关于DataTable的一些操作

关于DataTable的一些操作

时间:2023-02-13 19:57:59浏览次数:36  
标签:rows AsEnumerable Field DataRow 关于 操作 dt DataTable

1. 数据筛选:

dt.AsEnumerable().Where(r => r.Field<string>("Name").StartsWith("A")).FirstOrDefault();

 

2.注意AsEnumerable不可连续使用,比如:

var itemdata = dt.AsEnumerable().Where(r => r.Field<string>("Name").StartsWith("A"));
var od = itemdata.AsEnumerable().Where(r => r.Field<string>("AGE").StartsWith("2"));

 

3.抽取单列:

(from d in dt.AsEnumerable() select d.Field<string>("Name"));

 

4.抽取多列:

DataTable dat = YourDataTable.DefaultView.ToTable(false, new string[] { "列名1", "列名2" });

 

5.抽取的数据 EnumerableRowCollection 转List

var patKeys = dt.AsEnumerable().Select(r => r.Field<string>("PAT_ID_NUMBER")).ToList();

 

6.获得列名:

foreach (DataColumn col in dt.Columns)
{
     col.ColumnName;
}

 

7.DataRow[]转DataTable

public DataTable ToDataTable(DataRow[] rows)
{
     if (rows == null || rows.Length == 0) return null;
     DataTable tmp = rows[0].Table.Clone(); // 复制DataRow的表结构
     foreach (DataRow row in rows)
     {
        tmp.Rows.Add(row.ItemArray); // 将DataRow添加到DataTable中
     }
     return tmp;
}

 

8.DataTable 去重
DataTable dat = dt.DefaultView.ToTable(true, new string[] { "PRESCRIBE_ID", "CLINULTIDIAG", "EYE", "PRESCRIBE_TIME", "DOCTOR_NAME" });

标签:rows,AsEnumerable,Field,DataRow,关于,操作,dt,DataTable
From: https://www.cnblogs.com/lgx5/p/17117574.html

相关文章

  • 关于shell中的while文本重定向问题
    #!/bin/bashcatvscode_tutor.txt|whilereadlinedoecho$line>hello.txtdone那么重定向第一次过后,就会跳出while循环。只会把vscode_tutor.txt的第一......
  • JAVA的列表上移下移操作实现
     这里的currentTypePriority表示当前移动的排序值nextTypePriority表示要移动的后一个排序值比如1、2、3、4、52要移动到5前面=》1、3、4、2、5那么这里的curren......
  • 关于GORM Gen自动生成Model却没有外键的问题
    写的非常好的链接,问题和解决方案都给出了:关于GORM外键失效问题二(解决)以及这个链接所引申出来的问题:为什么大家很少使用外键了数据库物理外键、逻辑外键为什么大多数......
  • 关于我忘记MySQL root 密码那件事
    登录MySQL时,忘记密码,百度一番找到合适的方法问题已解决,记录一下。该篇文章仅做学习用,方便自己下次查找。1、先把MySQL的服务为停了,可以直接按win键搜服务,找到MySQL服务,......
  • mysql查询语句case及时间操作
    1、获取系统当前时间戳SELECT unix_timestamp(now())*1000 --乘以1000,为了得到毫秒时间戳   2、时间戳转年月日SELECTFROM_UNIXTIME(1676280033000/1000,......
  • python+uiautomator2安卓,混合app 操作h5页面
    参考文章:https://testerhome.com/topics/15998uiautomator2app原生+webview的实际操作记录(安卓)1.首先 chrome://inspect/#devices通过连接查看自己的版本号......
  • 操作数组对象中的某个属性获得一个新的数组对象
    letarr=[{name:'张三',hobby:"抽烟,喝酒,烫头"},{name:'李四',hobby:"打麻将,蹦迪,烫头"}......
  • etcd相关操作
    etcd成员查看:ETCDCTL_API=3etcdctl--cacert=/etc/kubernetes/pki/etcd/ca.crt--cert=/etc/kubernetes/pki/etcd/server.crt--key=/etc/kubernetes/pki/etcd/server.......
  • 恒创科技:关于国外服务器租用疑问大全解答
    很多人对于租用国外服务器还是有些疑虑的,比如是否违法、价格、是否需要备案等等一系列问题,直接导致了很多有疑虑的用户放弃了使用,那么下面我们就来解答关于这些租用国外......
  • 找到抓手,用对方法,中电金信关于金融机构数据治理建设路径分享
    前言——在数据管理领域,中电金信是最早一批提供金融业数据管理解决方案的科技公司,见证了金融数据管理的整个发展过程,在二十多年来的实践中沉淀出一套完整的数据治理方法论。......