评估/查找文本文件的列分隔符

时间:2015-05-29 16:24:25

标签: c# ssis delimiter

有没有人有一个很好的方法来评估/查找给定文本文件的列分隔符?我愿意提出任何建议,无论是涉及C#剧本,Powerscript等等。

我有一位客户喜欢通过几乎所有其他数据Feed更改列分隔符来让我们站起来。这显然打破了我们的SQL代理导入作业。虽然我可以去失败路由 - 如果这个连接管理器(例如逗号分隔符)失败,使用另一个连接管理器(制表符分隔连接) - 但我宁愿在失败之前评估分隔符并决定采用哪条路由。有人有这方面的经验吗?

1 个答案:

答案 0 :(得分:0)

假设每一行具有相同的列数,您可以随时选择一组常用分隔符(逗号,制表符,管道等),并计算每行中有多少行。如果前5行的逗号计数为34,34,35,34,36,而这些行的标签计数为0,0,1,0,0,那么您可能有34个以逗号分隔的列,并在文本中嵌入了一些额外的逗号。如果事先知道要预期多少列,那将会更容易。

底线是它可能不是一个确定性的黑白算法,而是根据数据通常的样子选择一些规则和阈值,然后让你的代码做出最佳猜测。

那,或者把它打倒在客户端上。 : - )