![](/img/trans.png)
[英]SQL Server import csv file to table -Messing the columns in table?
[英]Import csv into SQL Server table
很久以前,我是一名開發人員,后來擔任管理職位,但又回到了一個新角色,從事一些輕量級的開發工作。
我遇到的問題是我需要將一個.csv
文件導入到 SQL Server 表中以進行進一步處理,但其中一列可能有一個“,”,這會破壞導入。
我知道每當我強制刪除“,”時它都會起作用,但需要能夠以編程方式執行此操作。 該文件來自外部源,因此不幸的是我無法更正源或在列周圍放置“”作為分隔符。
任何幫助或建議將不勝感激。
PS:請記住,我正在重新學習東西,所以你可能不得不“愚蠢”地提出任何建議。 ;)
史蒂夫
如果您使用 c#,您實際上可以做的是准確識別逗號的位置,例如,如果您有這樣的表:
Apple,Peach,Raspberry
Apple,Banana,grape
Tomato,Pe,ch,Raspberry
如果您可以看到通常有 3 列以逗號分隔,並且在第 3 列中 Peach 單詞中有一個額外的逗號,因此如果逗號始終出現在第二列,您可以計算每行的單詞數:
var contents = File.ReadAllText(filename).Split('\n');
//you can use linq
var csv = from line in contents select line.Split(',').ToArray();
var count = contents.Split(',').Length;
//通常它總是計數 3,但是當它計數為 4 時,您可以在該列上使用 if 條件:
if(count > 3){
col2 = csv[1] + csv[2]
}
我的意思是這只是想法和快速答案,但取決於您的操作方式,您只需要找到該 CSV 的正確模式,以便您弄清楚如何解決!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.