簡體   English   中英

使用腳本任務刪除 SSIS 中逗號分隔文件 csv 中的逗號

[英]Remove comma inside Comma Delimited File csv in SSIS Using Script task

我正在嘗試使用 SSIS 將多個 csv 文件加載到 sql 數據庫中,但我在讀取 Z628CB5675FF528FE33E7 文件時遇到了一些問題。

文件是這樣來的:

,,,,
ID, Name, Amount, Important_Dates, Company
101, Mark,"157,500",11/18/19, Amazon, Inc
102,Tom, "388,000",11/14/19, Ebay Corp
103,Tim, "484,000",11/25/19, Wish
104,Richard,"384,750",10/5/19, NBA. INC

每次我嘗試使用 SSIS 打開文件時,由於值中的逗號,數據會變得混合,這就是它的外觀:

在此處輸入圖像描述

並嘗試以所有值都保留在自己的列中的方式讀取文件,例如:

在此處輸入圖像描述

注意:我將每天運行 2 或 1 次,這就是我嘗試自動化它的原因。

而且我已經嘗試了此頁面中的代碼但沒有用: https://radacad.com/problem-with-comma-values-in-comma-delimited-file

可能,在數據流之前使用 C# 代碼的腳本任務將處理所有列中的逗號可能會有所幫助,但我不知道該怎么做。

任何幫助或想法我都會非常感激。 謝謝!

無論此數據的來源是什么,您都應該有一個連接管理器項,並且連接管理器將允許您設置文本限定符屬性。 這樣做,SSIS 應該正確處理這些數據。

你的 CSV 不是很干凈。 我已經編輯過了

ID,Name,Amount,Important_Dates,Company
101,Mark,"157,500",11/18/19,"Amazon,Inc"
102,Tom,"388,000",11/14/19,Ebay Corp
103,Tim,"484,000",11/25/19,Wish
104,Richard,"384,750",10/5/19,NBA. INC

然后,您可以使用經典的命令行工具更改分隔符,如 Miller ( https://github.com/johnkerl/miller ) 並將其從 CSV 轉換為 TSV,運行

mlr --c2t cat input.csv >output.tsv

具有

ID      Name    Amount  Important_Dates Company
101     Mark    157,500 11/18/19        Amazon,Inc
102     Tom     388,000 11/14/19        Ebay Corp
103     Tim     484,000 11/25/19        Wish
104     Richard 384,750 10/5/19 NBA. INC

然后你應該更改導入分隔符,選擇選項卡

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM