2014-10-07 92 views
0

我正在尋找導入CSV,但其格式不是很好。實際上,CSV的標題部分只有兩列,但是這會覆蓋實際數據的大部分,即四列。SSIS平面文件導入 - CSV格式不好

使用平面文件連接管理器,它看不到'標題'部分的新行,所以如果我手動規定有四列,它會弄亂上部。該數據的一個例子是,像這樣:

"Version","1.23""Status","OK""Date","2014.10.04 08:00:00""John","John smith","1234","123456""James","James Pemberton","4567","456789" 

因此,格式應該是這樣:

"Version","1.23" 
"Status","OK" 
"Date","2014.10.04 08:00:00" 
"John","John smith","1234","123456" 
"James","James Pemberton","4567","456789" 

因此,新的生產線只是沒有逗號後他們。理想情況下,會有一些額外的逗號,例如「Version」,「1.23」等來定義四列,但事實並非如此,我無法更改源文件。

我相信這很容易解決,但今天早上它變得越來越好!

在此先感謝。

+0

你需要在前三行的數據? – 2014-10-07 12:47:01

+0

嗨,埃裏克,我可以逃脫只是使用日期,但如果我可以使用這些數據可以做一個更精細的系統。 – Loic 2014-10-07 16:13:45

回答

0

您沒有明智地定義新行的方法。你知道它的一個新行的唯一方式是沒有逗號導致雙引號。

如果您使用雙引號的行分隔符創建連接,例如「」那麼你至少會得到正確的行進入ssis。然後您將不得不處理隨後在包內對每個輸入發生的各種單/雙引號問題。這將是做的相當簡單,但被警告說,這可能是非常大的數據集低效

bad formatting result

+0

謝謝,我試過了,但它似乎沒有工作。從我讀過的內容可以看出,SSIS在查找行結束符之前查找列分隔符。我希望在平面文件連接管理器中有一點擺弄,但它似乎是一個腳本作業:http://consultingblogs.emc.com/jamiethomson/archive/2006/07/14/4226.aspx – Loic 2014-10-07 16:17:02

+0

您需要首先刪除文本限定符,這會導致另一個問題(處理語音標記),但會將數據寫入ssis。 – 2014-10-08 17:48:12