對於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
- CSVKIT——處理csv檔案的瑞士軍刀
- csv跨域傳輸再生成csv檔案處理跨域
- Python處理CSV檔案的幾個方法Python
- 如何處理大體積 XLSX/CSV/TXT 檔案?
- 使用go語言對csv檔案進行解析處理,匯入匯出。Go
- 使用Django來處理對於靜態檔案的請求Django
- 對於undotbs01.dbf檔案太大的處理辦法
- like 操作中對於'_'處理
- 多對一處理 和一對多處理的處理
- csv檔案的寫入和讀取
- java中 檔案壓縮處理Java
- 源資料檔案(.csv)中的空格串和空串對pandas讀取結果的影響
- sql對於字串的處理SQL字串
- Python3中檔案處理Python
- vue對CSV檔案進行表格預覽Vue
- JMeter中對於Json資料的處理方法JMeterJSON
- 關於attention中對padding的處理:maskpadding
- 基於 java 註解的 csv 檔案讀寫框架Java框架
- MyBaits | 對映檔案之引數處理AI
- 計算機程式的思維邏輯 (64) – 常見檔案型別處理: 屬性檔案/CSV/EXCEL/HTML/壓縮檔案計算機型別ExcelHTML
- 計算機程式的思維邏輯 (64) - 常見檔案型別處理: 屬性檔案/CSV/EXCEL/HTML/壓縮檔案計算機型別ExcelHTML
- EasyDataTransform mac (轉換Excel和CSV檔案)ORMMacExcel
- [R]檔案處理
- bat處理檔案BAT
- bat檔案處理BAT
- UNIX的檔案處理(轉)
- 實時流處理與分散式儲存過程中對檔案的操作分散式儲存過程
- 探究:nuget工具對不再使用的dll檔案的處理策略
- sql server對於日期的處理SQLServer
- 對於死鎖的處理流程:
- XML檔案處理中增加xmlns問題XML
- Python中可靠地處理檔案Python
- csv是什麼格式檔案 csv檔案是什麼意思
- 基於MFC的大型資料檔案處理方法 (轉)
- 關於applet寫入檔案的處理 (轉)APP
- 如何在 .NET Core WebApi 中處理 MultipartFormDataContent 中的檔案WebAPIORM