【发布时间】:2011-06-18 18:23:09
【问题描述】:
任何人都知道如何以类似于 NET FileHelpers 的方式导入/导出 csv、txt 文件,但使用 Delphi,将空格和引号考虑在内,并以类似于 CSV 转义的方式处理传统的 CSV 转义规则Excel?
参考。链接http://www.filehelpers.com/
如果你的答案往往是:“为什么这个懒惰的家伙不写一个简单的 CSV 解析器”,考虑这 5 分钟的阅读,然后你就会知道为什么 CSV 解析不是微不足道的:
【问题讨论】:
-
其实任务分为两部分:首先写一个分词器来计算引号和空格(扔掉正则表达式,大多数时候没有它们你会活得更轻松),然后使用分词器来解析CSV 逐行。编写一个正确而完整的分词器花了我一个小时左右。
-
并且导出更加容易。我最近编写了自己的导出器,目标是高性能。
-
为什么你链接页面咆哮那些明显的事情?与在互联网上寻求随机建议相比,实际调查问题所花费的时间更少。
-
导出绝对比解析容易。对于任何认为 CSV 解析微不足道的人来说;把你的 CSV 解析器发给我,我会告诉你十个真实世界的 CSV 输入文件,它们会破坏你的解析器。
-
@WarrenP 我们希望保持 Stack Overflow 干净且没有垃圾邮件。推荐问题会吸引垃圾邮件。