我有一个 CSV 文件,其中有几个数据列。
CSV 文件看起来像
field1: Test1
field2: Test2
field3: Test3, Test4, Test5
在这种情况下,我可以使用哪个库作为字段终止符我的意思是如果我使用此查询将 CSV 文件插入 shopifyitem
表,因为您假设数据字段插入不正确
BULK INSERT shopifyitem
FROM 'c:\test.csv'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
那么我可以使用哪个字段终止符?
先谢谢你....
最佳答案
我认为如果不进行某种类型的预处理,您将无法导入该格式。正如 Aaron 所暗示的,这不是标准的 CSV。
如果您无法重新格式化文件,有几种方法可以将数据转换为可导入的格式:
http://www.timmitchell.net/post/2013/01/14/ragged-flat-file-processing-in-ssis/
http://www.rad.pasfu.com/index.php?/archives/38-Script-Component-as-Source-SSIS.html
http://msdn.microsoft.com/en-us/library/ms136060.aspx (向下滚动到“平面文件源示例”)
这些都是利用 .NET 完成大部分工作的 SSIS 解决方案。我更喜欢 SSIS,因为它内置了生产力工具。它可以使用任何文本处理器来完成,例如控制台应用程序或 powershell 脚本(如果您真的有时间的话)。
我更喜欢带有流阅读器的脚本组件源,但 Tim Mitchell 有一个有趣的选择。
关于sql-server - 使用 BULK INSERT 命令将 CSV 文件导入 SQL Server 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14594072/