【问题标题】:SQL Server Import from csv file从 csv 文件导入 SQL Server
【发布时间】:2018-08-02 13:16:24
【问题描述】:

我正在尝试将数据从.csv 文件导入到 SQL Server 表中。

使用下面的代码,我可以从文件中读取:

BULK INSERT #TempTable 
FROM '\\Data\TestData\ImportList.csv' 
WITH (FIELDTERMINATOR = ',', ROWTERMINATOR ='\n', FIRSTROW = 2, Lastrow = 3)
GO

(我添加了 LastRow = 3,所以我只是获取数据的一个子集,而不是处理所有 2000 行)

但我将多列合并为一列:

如果我在 SSMS 中使用导入/导出向导,并使用以下设置,我会在预览中看到预期的结果:

谁能给我一些关于我需要如何更新我的查询才能正确执行的指示。

以下是 CSV 数据的示例:

TIA。

【问题讨论】:

  • 嗯 - 你的 .csv 文件的内容是什么样的??
  • 我已经用我所拥有的截图更新了帖子。谢谢

标签: sql-server csv import


【解决方案1】:

您可能需要将" 指定为Text qualifier

您的字段似乎被引用并且很可能包含逗号,这些逗号正在拆分您的字段。

或者,如果使用<none> 作为Text qualifier 可以正常工作,请尝试在查询中使用use FIELDQUOTE = ''FIELDQUOTE = '\b'FIELDQUOTE 默认为 '"'

如果不查看包含这些引号的一些原始 csv 数据(如您的第一个屏幕截图所示),很难判断出真正的问题。

【讨论】:

  • 在导入/导出向导中,我没有设置文本限定符,所以我认为我不需要,除了我读到的所有内容都提到添加格式文件,这似乎有点只是为了导入一个 .csv 文件而过度
  • @Richard.Gale 我一定误读了你问题的那一部分。请参阅我的更新答案。
猜你喜欢
  • 2013-02-20
  • 1970-01-01
  • 2013-06-04
  • 2015-03-22
  • 1970-01-01
  • 2013-04-11
  • 1970-01-01
相关资源
最近更新 更多