热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C#学习教程:在C#winforms中读取csv文件时出现数据错误分享

在C#winforms中读取csv文件时出现数据错误我有一个C#winforms正在读取csv文件中的列。它读取4列中的3列正确。csv文件中的第4列是S4,但数据集显示为4。代码

在C#winforms中读取csv文件时出现数据错误

我有一个C#winforms正在读取csv文件中的列。 它读取4列中的3列正确。 csv文件中的第4列是S4 ,但数据集显示为4

代码是:

 string cOnn= string.Format(@"Provider=Microsoft.Jet.OLEDB.4.0; Data" + "Source={0}; Extended Properties=""text;HDR=YES;FMT=DELIMITED""", strDirectoryPath); OleDbConnection oleDBCOnn= new OleDbConnection(conn); oleDBConn.Open(); OleDbDataAdapter da = new OleDbDataAdapter("Select * FROM [" + strFileName + "]", conn); DataSet ds = new DataSet(); da.Fill(ds); 

csv数据样本是:

 AA0013 Incident Incident S4 AA0016 Incident Incident S3 AA0017 Incident Incident S3 AA0023 Incident Incident S3 AA0076 Issue Issue S3 AA0079 Incident Incident S6 AA0082 Issue Issue S6 AA0084 Incident Incident S6 AA0085 Incident Incident S6 

是什么导致这种情况,我该如何解决?

这是因为OLEDB提供程序有时会自动检测列的数据类型,并尝试将该列中的所有值转换为它检测到的特定数据类型。 要解决此问题,您需要指定schema.ini文件,该文件将保存有关每列及其数据类型的信息,以便OLEDB不会尝试将任何列隐式转换为其自己喜欢的数据类型:)…

这是完整的指南.. http://www.aspdotnetcodes.com/Importing_CSV_Database_Schema.ini.aspx

问候。

最简单的方法是手动解析文件而不使用数据库连接。

  string[] lines = File.ReadAllLines(path); foreach(string row in lines) { string[] data = row.Split(","); //Data processing goes here } 

请注意,“,”是数据分隔符,您可以使用其他分隔符,例如“”或“;”

上述就是C#学习教程:在C#winforms中读取csv文件时出现数据错误分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—编程笔记


推荐阅读
  • 本文探讨了Android系统中联系人数据库的设计,特别是AbstractContactsProvider类的作用与实现。文章提供了对源代码的详细分析,并解释了该类如何支持跨数据库操作及事务处理。源代码可从官方Android网站下载。 ... [详细]
  • 本文详细探讨了编程中的命名空间与作用域概念,包括其定义、类型以及在不同上下文中的应用。 ... [详细]
  • 本文详细介绍了如何使用Linux下的mysqlshow命令来查询MySQL数据库的相关信息,包括数据库、表以及字段的详情。通过本文的学习,读者可以掌握mysqlshow命令的基本语法及其常用选项。 ... [详细]
  • Hadoop MapReduce 实战案例:手机流量使用统计分析
    本文通过一个具体的Hadoop MapReduce案例,详细介绍了如何利用MapReduce框架来统计和分析手机用户的流量使用情况,包括上行和下行流量的计算以及总流量的汇总。 ... [详细]
  • 本文探讨了在 PHP 的 Zend 框架下,使用 PHPUnit 进行单元测试时遇到的 Zend_Controller_Response_Exception 错误,并提供了解决方案。 ... [详细]
  • Python Selenium WebDriver 浏览器驱动详解与实践
    本文详细介绍了如何使用Python结合Selenium和unittest构建自动化测试框架,重点解析了WebDriver浏览器驱动的配置与使用方法,涵盖Chrome、Firefox、IE/Edge等主流浏览器。 ... [详细]
  • 本文探讨了一个Web工程项目的需求,即允许用户随时添加定时任务,并通过Quartz框架实现这些任务的自动化调度。文章将介绍如何设计任务表以存储任务信息和执行周期,以及如何通过一个定期扫描机制自动识别并加载新任务到调度系统中。 ... [详细]
  • 我在尝试将组合框转换为具有自动完成功能时遇到了一个问题,即页面上的列表框也被转换成了自动完成下拉框,而不是保持原有的多选列表框形式。 ... [详细]
  • 个人博客:打开链接依赖倒置原则定义依赖倒置原则(DependenceInversionPrinciple,DIP)定义如下:Highlevelmo ... [详细]
  • iOS如何实现手势
    这篇文章主要为大家展示了“iOS如何实现手势”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“iOS ... [详细]
  • Android 开发技巧:使用 AsyncTask 实现后台任务与 UI 交互
    本文详细介绍了如何在 Android 应用中利用 AsyncTask 来执行后台任务,并及时将任务进展反馈给用户界面,提高用户体验。 ... [详细]
  • 本文详细介绍了如何在PyQt5中创建简易对话框,包括对话框的基本结构、布局管理以及源代码实现。通过实例代码,展示了如何设置窗口部件、布局方式及对话框的基本操作。 ... [详细]
  • 本文探讨了如何利用 Android 的 Movie 类来展示 GIF 动画,并详细介绍了调整 GIF 尺寸以适应不同布局的方法。同时,提供了相关的代码示例和注意事项。 ... [详细]
  • 本文详细介绍了跨站脚本攻击(XSS)的基本概念、工作原理,并通过实际案例演示如何构建XSS漏洞的测试环境,以及探讨了XSS攻击的不同形式和防御策略。 ... [详细]
  • 在AngularJS中,有时需要在表单内包含某些控件,但又不希望这些控件导致表单变为脏状态。例如,当用户对表单进行修改后,表单的$dirty属性将变为true,触发保存对话框。然而,对于一些导航或辅助功能控件,我们可能并不希望它们触发这种行为。 ... [详细]
author-avatar
sisihg_676
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有