【发布时间】:2017-09-22 13:42:52
【问题描述】:
我有一个包含 GeoCodes 列的 csv 文件。这使用 " 作为文本限定符。
我正在尝试使用 SQL Server 导入向导将其导入 SQLServer。 数据的问题是,如果没有 GeoCode,csv 文件有时会将 GeoCode 输出为“”,然后是几个空格。尝试导入数据时出现此错误,因为它会在文本限定符中提取数据,然后在下一个逗号分隔符之前有这些空格。
以下数据示例。 Pontypandy 行是出错的行。
Place ,Geo Codes ,Type
Northpole ,"90.0000,0.0000 ",Pole
Southpole ,"-90.0000,0.0000 ",Pole
Pyramids ,"29.9765,31.1313 ",BigTriangle
France ," ",Country
Pontypandy ," " ,City
我必须使用文本限定符,因为地理代码中有逗号。
我对如何将数据发送给我没有发言权,因此必须按原样处理数据。
作为一种解决方法,我必须先在记事本中查找和替换数据,然后再导入。这为希望不需要的工作增加了一个额外的步骤。
在导入期间我是否可以绕过 " " 空格?
作为额外说明,我目前无法访问 SSIS,但如果可以更轻松地在其中完成,请回答,因为它可以帮助我证明获得 SSIS 的合理性(如果以后我可能不得不删除此评论我必须把它展示给我的经理)。
【问题讨论】:
-
一个快速的解决方法是使用 Notepad++ 并使用查找 / 替换 "\s, to ",。我不明白您的 CSV 是如何或为什么这样做的。你是手动输入引号吗?通常当引用 csv 时,所有列都会被引用。
-
我在问题中提到我正在使用类似的工作。因为我必须经常这样做,所以我正在寻找一些更标准的导入。如果可以的话。
-
不知道为什么数据会这样出来。我认为当没有输入任何内容时,它会出现一个“围绕所有内容。我认为当有人删除数据时它会出现错误。虽然我不处理那个系统,所以不能在那里改变任何东西
-
如果你有 powershell,你可以在一个脚本中自动清理和导入
-
@Jimbo 谢谢,我可能会看看。
标签: sql-server csv import sql-import-wizard