我有以下csv文件:
col1, col2, col3
"r1", "r2", "r3"
"r11", "r22", "r33"
"totals","","",
后面跟着2个空白行。导入失败,因为在最后一个数据行的末尾有额外的逗号,并且很可能由于末尾有额外的空行而失败。
当我进入那一行时,我可以以某种方式跳过最后一行甚至更好地停止导入吗?它总是在“col1”中有“totals”字符串。
更新:
据我从答案中了解到,使用Flat File无法做到这一点。目前我使用“脚本组件”作为源
答案 0 :(得分:2)
您可以将该行作为单个字符串读取。
有条件地分割出Null和left(col0)==“total”
然后在脚本组件中使用拆分功能
最后修剪(“\”“)
答案 1 :(得分:1)
我知道SSIS没有任何内置功能可以忽略CSV的最后一行。
处理此问题的一种方法是在数据流之前使用脚本任务,该脚本任务使用FileSystemObject编辑CSV并删除最后一行。
答案 2 :(得分:1)
您需要创建一个自定义脚本,在该脚本中读取SSIS中的所有行,但最后一行。
答案 3 :(得分:0)
这很旧,但是在搜索此主题时出现在我身上。我的解决方案是重定向目标上的行。最后一行被重定向而不是失败,并且作业完成。当然,您可能会重定向不需要的行。这完全取决于您对数据的信任程度。