我有一個csv文件,它是用逗號分隔的,但它有一些地址字段,其中包含逗號和一個描述字段,它以雙引號開頭和結尾,並在其中包含逗號。 導入sql服務器的wizrad只是增加了額外的列,因此在數據擴展到的其他領域的數據類型的錯誤。 如果我使用excel字段被正確地看到,我可以導入它,但我想自動執行此導入,所以不想在Excel中打開每個文件(我有數千個)。修復一個csv文件,以便sql服務器可以導入文件
我曾嘗試PowerShell的
DECLARE @file NVARCHAR(250);
DECLARE @cmd NVARCHAR(255);
SET @file='C:\path\filename'
SET @cmd = 'powershell "Import-csv -path '[email protected]+'.csv -Delimiter '','' | Export-CSV -path '[email protected]+'_converted.csv -Delimiter ''|'' -NoType " '
EXEC master.dbo.xp_cmdshell
,但得到的錯誤
output
Import-Csv : A positional parameter cannot be found that accepts argument
'Premium'.
At line:1 char:1
+ Import-csv -path C:\DWfilestoload\Collect Premium Insolvency Output.csv
-Delimit ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~
+ CategoryInfo : InvalidArgument: (:) [Import-Csv], ParameterBind
ingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell
.Commands.ImportCsvCommand
NULL
任何其他的想法,以獲得良好的格式文件導入或交換的分隔符,我曾嘗試更換,爲|但其效果相同。
使用FixedWidth或RaggedRight選項生成文件,而不是使用定界符。 – knkarthick24 2014-10-08 10:05:58
正如你生成的文件一樣,你可以使用'|'管道分隔符或可以使用的格式生成文件。如果不是,那麼您目前如何確定逗號地址的起始地址和地址的結尾? – Tak 2014-10-08 13:21:35
我強烈建議您直接在臉上製作此文件的人。 – Zane 2014-10-08 14:07:45