gpt4 book ai didi

delphi - 如何以类似于 NET FileHelpers 的方式读写 CSV?

转载 作者:行者123 更新时间:2023-12-03 14:42:23 35 4
gpt4 key购买 nike

任何人都知道我如何以类似于 NET FileHelpers 的方式导入/导出 csv、txt 文件,但使用 Delphi,考虑空格和引号,并以类似于 CSV 转义工作方式的方式处理传统 CSV 转义规则Excel?

引用。链接http://www.filehelpers.com/

如果您的答案往往是:“为什么这个懒人不写一个简单的 CSV 解析器”,请花 5 分钟阅读本文,然后您就会知道为什么 CSV 解析并不简单:

http://secretgeek.net/csv_trouble.asp

最佳答案

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

您可以安装 JVCL,将 TJvCsvDataSet 拖放到表单上。

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

您只需将其放在表单上,​​然后设置 FieldDefs 属性,如下所示:

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

整数、浮点、iso 日期时间和其他字段都有特殊代码。它甚至允许您将宽字符串字段映射到 CSV 文件中的 utf8 字段。

有一个设计时属性编辑器可以让您不必使用上面的语法声明 CSV 字段定义,而是可以直接直观地选择列类型。

如果您没有设置 CSV 字段定义,它只会将文件中存在的任何内容映射到字符串类型字段。

绝地 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

enter image description here

关于delphi - 如何以类似于 NET FileHelpers 的方式读写 CSV?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4854310/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com