iT邦幫忙

0

關於MSSQL 匯入一般文字檔

範例 文字檔資料如下
張三吃了個包子
Joe Smith to eat a bun
(空白行)
李四吃餃子
John Doe dumplings
(空白行)
王五沒得吃
Wang did not have to eat five
(空白行)
希望轉入SQL時呈現如下
Column1 / Column2
張三吃了個包子 / Joe Smith to eat a bun
李四吃餃子 / John Doe dumplings
王五沒得吃 / Wang did not have to eat five

於進行匯入的動作時該以什麼方式處理行列的分隔呢
希望每筆資料以空白行進行分隔

外獅佬 iT邦大師 1 級 ‧ 2014-12-05 00:45:01 檢舉
一句話...辦不到...
2
海綿寶寶
iT邦超人 1 級 ‧ 2014-12-08 18:41:03
最佳解答

我也只會用 Excel

1.先用 Excel 讀入文字檔
2.欄 B 公式為=INDIRECT("$a"&((ROW()*3)-2)) (全欄都一樣)
3.欄 C 公式為=INDIRECT("$a"&((ROW()*3)-1)) (全欄都一樣)
欄 B,C 即為所要的資料

simon0627 iT邦新手 2 級 ‧ 2014-12-18 09:31:54 檢舉

感謝你的回應 看起來似乎更簡單了
我想在搭配 取最後一行的方式和空白行查找 應該可以得到我需要的答案
感謝提供思路及所用公式

simon0627 iT邦新手 2 級 ‧ 2015-02-02 02:53:22 檢舉

好吧 討論區大大說了 辦不到 應該是有相當大的難度
但你提供的思路對來我說 好似接近答案一點
想了一下 若搭配 TRANSPORT及判斷空白行也許可以達成但似乎也頗有難度 就感謝大家的幫忙了

0
shengfu
iT邦新手 2 級 ‧ 2014-12-05 08:15:14

這樣的格式...讓我想起6年前在某間中部S開頭的封測廠,當IT的事情...
客戶的訂單真的就是用這樣的txt文字檔丟過來的..
不過我那時候只會用最笨的方法,沒有想到如何能直接轉成樓主的格式.

方法如下: (前提是格式固定..)
1.開一個temp table,只要一個欄位,將資料逐行寫入
2.寫一個store procedure 處理資料,逐步塞入各欄位
..........那時候我只想的到這樣的方法 T T

或者是否可以在Excel先處理過..再轉入呢?

2
月半車甫
iT邦研究生 3 級 ‧ 2014-12-05 10:23:22

給你Excel 作法,剩下的匯入動作應該簡單多了吧!

  1. Excel 開啟文字檔
  2. 左邊新增1行(A),在最上方新增兩個空白列
  3. 把資料(B)複製到(C)(D),但各往上遞增一列
  4. 把A1輸入公式,複製給所有其他列
  5. 重新複製A,並且選擇性貼上A列,只保留值
  6. 排序,只取0的資料,其餘都刪除
    剩下的就是你的資料已經分成column1/column2
月半車甫 iT邦研究生 3 級 ‧ 2014-12-05 10:44:13 檢舉

補上A1公式=MOD(ROW(),3), 複製給A2,3,4.......到最後

simon0627 iT邦新手 2 級 ‧ 2014-12-08 15:50:10 檢舉

看起來是可以用Excel 來協助處理 但如果資料中不止三筆而是上千筆或上萬筆 似乎就不是那麼合適了 不感非常謝謝你的詳細說明

我要發表回答

立即登入回答