加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 如何以类似于NET FileHelpers的方式读取和写入CSV?

发布时间:2020-12-15 04:25:56 所属栏目:大数据 来源:网络整理
导读:任何人都知道如何以类似于NET FileHelpers的方式导入/导出csv,txt文件,但是使用Delphi,将空格和引号考虑在内并以类似于CSV转义在Excel中的方式处理传统的CSV转义规则? REF.链接http://www.filehelpers.com/ 如果你的答案往往是:“为什么这个懒惰的人不会写
任何人都知道如何以类似于NET FileHelpers的方式导入/导出csv,txt文件,但是使用Delphi,将空格和引号考虑在内并以类似于CSV转义在Excel中的方式处理传统的CSV转义规则?

REF.链接http://www.filehelpers.com/

如果你的答案往往是:“为什么这个懒惰的人不会写一个简单的CSV解析器”,考虑这个5分钟的阅读,然后你会知道为什么CSV解析不是微不足道的:

http://secretgeek.net/csv_trouble.asp

解决方法

我写了一个名为TJvCsvDataSet的Jedi项目的数据集(TTable类似对象),遵循所有CSV解析规则,其方式与Excel使用的CSV解析规则以及导入和导出CSV的各种数据库和报表工具类似.

您可以安装JVCL,在表单上放置一个TJvCsvDataSet.

它还包含一个流类,它将非常快速地加载磁盘上的文件,并使用CSV文件所需的正确的转义规则逐行解析它,甚至包含字段中编码的回车/换行符代码的文件.

您只需将其放在窗体上,并设置FieldDefs属性,如下所示:

CsvFieldDef = ABC:%,DEF:#,GHI:$….

有整数,浮点,异时日期等字段的特殊代码.它甚至允许您将宽字符串字段映射到CSV文件中的utf8字段.

有一个designtime属性编辑器来保存你不必使用上面的语法来声明CSV字段定义,而是可以直观地选择列类型.

如果您没有设置CSV字段Def,则只将文件中存在的任何内容映射到字符串类型字段.

绝地JVCL:
http://jvcl.delphi-jedi.org/

JvCsvDataSet文件:

http://help.delphi-jedi.org/unit.php?Id=3107

http://help.delphi-jedi.org/item.php?Id=174896

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读