對於CSV檔案中{,}和{"}的處理
問題如下:
在SSIS做ETL的時候,需要處理的原始檔中的列有字元,也有數字,例如:
NetRate / GDS | Transactions | Instances |
NetRate | 9,520 | 9,520 |
GDS | 374 | 374 |
基於csv檔案自身的特點,以 {,} 作為 Column delimiter,但是在這個csv檔案中 Transactions和Instances中的數值存在科學計數,也就是遇到千,百萬……會自動以"," 分開,而且有科學計數必定帶引號{"}. 所以在處理的時候很難. 建議客戶修改儲存csv檔案的格式,被否定.因為原始檔是第三方程式提供的,所以只有自己藉助臨時表搞定,把 Transactions 和 Instances合併起來作為一列,藉助臨時表處理。
那麼合併後未處理的原始資料:
Transactions+Instances
"9,520","9,520"
374,374
這樣迴圈的去找{"}出現的位置就OK了。
舉例如下:
declare @str as varchar(100)
declare @position as int
set @str = '"9,520","9,520"'
set @position = 1
while @position>0
begin
set @position = charindex('"',@str)
if @position >0
begin
select substring(@str,1, @position-1)
set @str = substring(@str,@position + 1,len(@str)-@position) -- 移除
end
else
begin
select @str
end
end
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14321372/viewspace-567560/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux中利用csvquote處理csv檔案Linux
- 使用 Python 處理 CSV 檔案Python
- Python處理CSV檔案的幾個方法Python
- csv跨域傳輸再生成csv檔案處理跨域
- 如何處理大體積 XLSX/CSV/TXT 檔案?
- 使用go語言對csv檔案進行解析處理,匯入匯出。Go
- 多對一處理 和一對多處理的處理
- csv檔案的寫入和讀取
- 關於attention中對padding的處理:maskpadding
- java中 檔案壓縮處理Java
- MyBaits | 對映檔案之引數處理AI
- 源資料檔案(.csv)中的空格串和空串對pandas讀取結果的影響
- Python中可靠地處理檔案Python
- vue對CSV檔案進行表格預覽Vue
- 計算機程式的思維邏輯 (64) – 常見檔案型別處理: 屬性檔案/CSV/EXCEL/HTML/壓縮檔案計算機型別ExcelHTML
- Python如何處理檔案的?Python
- python檔案處理Python
- python處理檔案Python
- python 檔案處理Python
- 探究:nuget工具對不再使用的dll檔案的處理策略
- 如何在 .NET Core WebApi 中處理 MultipartFormDataContent 中的檔案WebAPIORM
- 基於 java 註解的 csv 檔案讀寫框架Java框架
- EasyDataTransform mac (轉換Excel和CSV檔案)ORMMacExcel
- 實時流處理與分散式儲存過程中對檔案的操作分散式儲存過程
- csv是什麼格式檔案 csv檔案是什麼意思
- 如何使用find和xargs查詢和處理檔案
- sql server對於日期的處理SQLServer
- Hadoop小檔案的處理方式Hadoop
- CSV檔案儲存
- python生成CSV檔案Python
- pandas操作csv檔案
- Modern CSV for mac CSV檔案編輯器Mac
- Python之檔案處理Python
- Go xml檔案處理GoXML
- python處理txt檔案Python
- window 批處理檔案
- 設定Oralce啟動和停止的批處理檔案
- csv檔案用什麼開啟 csv是什麼格式檔案
- 使用PHP原生匯出Excel和CSV檔案PHPExcel