首页 > 编程语言 >c#读取CSV

c#读取CSV

时间:2024-07-02 21:56:34浏览次数:1  
标签:读取 title c# classType propertyInfo myObj CSV data string

private void ReadCVS(YaJiangBigDataContext _content,Type classType, string csvPath)
        {                         
//YaJiangBigDataContext 是EF的Contex,本例中可以替换为List<Object>
//csvPath 必须完整的物理路径 //classType 是用来存放csv数据的类的type int rowIndex = 0; using (var reader = new StreamReader(File.OpenRead(csvPath))) { string[] title = Array.Empty<string>();//保存标题 while (!reader.EndOfStream) { var line = reader.ReadLine(); if (!string.IsNullOrEmpty(line)) { string[] data= line.Split("\t"); //分隔符为\t if (rowIndex == 0) { //标题行 title = data; } else { //内容行,每行创建一个对象存储数据 object myObj = Activator.CreateInstance(classType); for (int i = 0; i < title.Length; i++) { PropertyInfo propertyInfo = classType.GetProperty(title[i]); Type pt = propertyInfo.PropertyType; propertyInfo.SetValue(myObj, propertyInfo.PropertyType.Name.Contains("Nullable") ? Convert.ChangeType(data[i], Nullable.GetUnderlyingType(pt)) : Convert.ChangeType(data[i], pt)); } _content.Add(myObj); //对象添加到EFContext中,也可以添加到List中 } } rowIndex++; } } }

 

标签:读取,title,c#,classType,propertyInfo,myObj,CSV,data,string
From: https://www.cnblogs.com/fireicesion/p/18280579

相关文章

  • 开源语音转文本 Speech-to-Text 大模型实战之Whisper篇
    前言随着深度学习技术的不断发展,语音转文本(Speech-to-Text,STT)技术取得了显著的进步。开源社区涌现了许多高效的STT大模型,为开发者提供了强大的工具。本文将以OpenAI推出的Whisper模型为例,详细介绍如何使用该模型进行语音转文本的实战应用,从模型简介、环境搭建、数据准备到模型......
  • android 代码如何增加atrace跟踪
    在Android代码中增加Atrace跟踪,可以使用Android提供的android.os.Trace类。这允许你在应用代码中手动添加自定义的跟踪点,以捕获特定代码段的执行情况。以下是如何在Android代码中增加Atrace跟踪的步骤:导入android.os.Trace:首先,在你的Java或Kotlin文件中导入......
  • ros - slam - microros - 两轮差速模型运动学介绍
    本节我们来了解下两轮差速运动学。一、两轮差速运动学模型两轮差速模型指机器人底盘由两个驱动轮和若干支撑轮构成的底盘模型,像turtlebot和开源机器人fishbot都是两轮差速模型。 两轮差速模型通过两个驱动轮可以通过不同转速和转向,使得机器人的达到某个特定的角速度和线速度......
  • YC307B [ 20240625 CQYC省选模拟赛 T2 ] 一个题(ynoi)
    题意你需要维护一个可重集\(S\),支持插入删除以及查询最大的方案使得给定正整数\(k\),划分为\(k\)个非空子集的按位与结果之和最大。\(n\le10^5\)Sol先上个trie。然后考虑一次查询怎么搞。先转化一下,如果需要划分为\(k\)个子集,显然需要合并\(n-k\)次。我们只......
  • cJSON:构建JSON
    使用cJSON库构建比较简单的JSON类型:create_json.c#include<stdio.h>#include<string.h>#include<stdlib.h>#include"cJSON.h"staticintcreate_json_type_1(void){char*json_str=NULL;cJSON*root=NULL;root=cJSON_Cre......
  • C#利用反射创建对象并进行赋值
    TypeclassType=typeof(ClassName);//获取类的typestringpath=fullName+","+assemblyName;//命名空间.类型名,程序集TypeclassType=Type.GetType(path);//加载类型TypeclassType=Type.GetType("类的完全限定名");//也可以根据类的完全限定名得到typ......
  • cesium 添加 Echarts图层(航线图)
    cesium添加Echarts航线图(下面附有源码)1、实现思路1、在scene上面新增一个canvas画布2、通坐标转换,将经纬度坐标转为屏幕坐标来实现3、将ecarts中每个series数组中元素都加coordinateSystem:‘cesiumEcharts’2、示例代码<!DOCTYPEhtml><htmllang=......
  • 超越所有SOTA达11%!媲美全监督方法 | UC伯克利开源UnSAM
    文章链接:https://arxiv.org/pdf/2406.20081github链接:https://github.com/frank-xwang/UnSAMSAM代表了计算机视觉领域,特别是图像分割领域的重大进步。对于需要详细分析和理解复杂视觉场景(如自动驾驶、医学成像和环境监控)的应用特别有价值。SAM的今天和大家一起学习的......
  • Nginx proxy manager反向代理docker hub
    1.域名解析用作反向代理的域名要提前解析,如果使用外国的DNS域名提供商的话,最好提前一天解析好。2.配置NPM2.1.Details选项卡2.2.SSL选项卡2.3.Advanced选项卡location/{#Dockerhub的官方镜像仓库proxy_passhttps://regis......
  • ssrf+结合redis 写入crontab或者公钥(两种环境)
    REDISredis作为一种数据库其实是会真的将数据写入到内存中的我们利用ssrf请求请求redis实现服务器对自己的公钥或任务计划写入实现无密码登录或反弹bashredis监听所有地址时才能被外部访问否则只能127.0.0.1本地访问而且开启保护模式后会导致目标端口只能本地访问这......