平面文件修复工具

时间:2008-10-08 16:51:36

标签: file

场景:尝试导入多个(> 100),大型(> 1M recs)平面文件(csv)。

问题:许多记录缺少字段分隔符。

问:是否有解析工具会尝试定义和验证文件并允许您进行“内联”更正?

ETA:我正在尝试使用DTS导入向导将此文件导入MS SQL Server。错误消息为我提供了它中断的文件的行号。固定;重复。

5 个答案:

答案 0 :(得分:4)

去过那里,做到了。写了我自己的工具。

有多少涉嫌输出CSV的程序实际上并没有正确地这样做。

商业工具会很好,但考虑到我在CSV文件中遇到的各种问题(缺少分隔符,错误的分隔符值,字段中间的嵌入式CR / LF等),值得写我自己的。这样,当我发现一个新问题时,我只是扩展我现有的程序来处理它。

考虑到我的倾向,我应该把我的昵称改为NIH。

答案 1 :(得分:2)

我可能会用Python(或Perl或Awk)来解决问题 如果缺少分隔符,你怎么知道字段在哪里?

编辑 - 我可能会读取所有行,忽略现有的分隔符,将它们拆分为已知内容并再次写出来。你只需要这样做一次,它比获得错误和修复特定的行更快更容易。

答案 2 :(得分:1)

如果平面文件来自同一个源,我同意编写自己的工具是最好的选择之一 - 问题应该在文件之间保持一致。

OTOH,如果您一直需要从不同的提供商导入数据,那么获得导入工具可能会提高效率。

自从我完成ETL工作已经差不多十年了,所以我不能提出任何具体的建议。

顺便说一句,是否有可能重新生成平面文件?更好的解决方案是首先不要破坏数据,而不是事后清理它。

答案 3 :(得分:1)

您可以尝试使用Flat File Checker来解决此问题。它允许您轻松拒绝格式错误的文件,并识别文件存在问题的行。

答案 4 :(得分:-1)

当您尝试访问数据并显示记录丢失时,会弹出这种类型的消息。星际文件修复可以让您摆脱这种腐败,在那里您可以找到所有类型的软件。