场景:尝试导入许多(>100)、大型(>1M recs)平面文件(csv)。
问题:许多记录都缺少字段分隔符。
问:是否有一个解析工具可以尝试定义和验证文件,并允许您进行“在线”更正?
ETA:我正尝试使用DTS导入向导将这些文件导入到MS。错误消息给出了它所破坏的文件的行号。修复;重复
发布于 2008-10-08 17:00:53
去过那里,干过那事。我自己写的工具。
值得注意的是,有多少程序据称没有正确地输出CSV。
一个商业工具会很好,但考虑到我在CSV文件中遇到的各种问题(缺少分隔符、分隔符值差、在字段中间嵌入CR/LF等),我自己编写它是值得的。这样,当我发现一个新的问题时,我只需扩展我现有的程序来处理它。
考虑到我的倾向,我应该改名为NIH。
发布于 2008-10-08 16:54:15
我可能会用Python (或者Perl或Awk)编写一些东西。
如果缺少分隔符,您如何知道字段在哪里?
编辑--我可能会在所有的行中阅读,忽略现有的分隔符,在已知的内容上分割它们,然后再将它们写出来。您只需要这样做一次,它将比得到一个错误和修复一条特定的线更快和容易。
发布于 2008-10-08 17:25:45
如果平面文件来自同一个来源,我同意编写自己的工具是最好的选择之一--问题应该在文件和文件之间保持一致。
OTOH,如果您需要从不同的提供者导入数据,那么获取一个导入工具可能会更有效率。
自从我做ETL的工作以来,我已经将近十年了,所以我不能提出任何具体的建议。
顺便说一句,有可能重新生成平面文件吗?更好的解决方案是从一开始就不破坏数据,而不是事后清理。
https://stackoverflow.com/questions/183761
复制相似问题