C 匯入csv檔案,資料中有逗號怎麼處理

時間 2023-03-16 22:05:02

1樓:有平卉

在小批量資料匯入的時候,最常用的就是使用excel工具,將資料儲存為xls或csv檔案,然後上傳到伺服器,然後讀取出來通過資料庫訪問類的相關方法更新到資料庫中。對於如何讀取xls檔案的方法,網上太多了,使用excel物件或ole db/odbc連線都行。對於csv檔案,其中有一種方式就是通過檔案流,將它作為文字讀取出來,這其中會遇到一點小意外。

我們知道,使用excel工具儲存成csv檔案時有幾個規則:

1、每一行的單元格內容之間用逗號分隔。

2、如果單元格的內容本身有逗號,這個單元格的內容將會用引號包含。

3、如果單元格的內容本身有引號,引號不在首或尾,這個單元格內容不會被引號包含。引號在首或尾,這個單元格內容會被引號包含且原來首尾的引號會被轉義。

所以對於這樣的內容,直接按逗號或引號使用split方法明顯不合適,需要預先處理一下。辦法很多,最容易想到的就是用正則過濾掉本身帶逗號或引號的內容,剩下的再按逗號split就方便了,我將csv檔案中的每一行獲取出來存放到一個鍵值對的集合中,為了保證前後順序一致,使用sortedlist。

2樓:在八境臺喝脈動的芥藍

現在要讀取一個csv檔案,將內容讀取後用excel的格式輸出,讀取的時候使用stringtokenizer類,用逗號將csv的資料用逗號一個個分割,csv的格式是這樣的(值與值之間用半形逗號分隔):

"aaa","bbb","ccc","ddd","eee";

像這樣的情況是沒有問題的;

但是當資料中也有半形逗號時,例如:

"aaa,fff","bbb,ggg"

讀取的時候就會出現字元被分割為"aaa(第一個字元),fff"(第二個字元)

一個字元被分割為兩個了,而且都只有一個雙引號,這會造成資料的混亂,有沒有朋友知道怎麼處理的?

可以先把類似"aaa,fff"中的逗號先用一個特殊的字串替換掉(根據逗號的上一個字元和下一個字元不是 " 做為條件過濾),再處理,最後在替換回來。

3樓:愛菠蘿

參考

親測可行。//需要先新增的引用。

using ;

4樓:匿名使用者

1、將所有分隔符替換為軟回車: 點選選單:→替換 在查詢內容內輸入分隔符 (如「,」等) 在替換處輸入軟回車符:

按alt鍵別放,依次輸入小鍵盤上的數字鍵1和0,鬆開alt鍵(此時在輸入位置看不出變化,但內容已輸入)。 進行全部替換 2、點設定單元格格式-對齊-自動換行。

5樓:一萬光年

可以過濾的,程式設計過濾一下。

6樓:薄荷淺淺笑

//需要先新增的引用。

7樓:

欄位用雙引號包起來,這個我做過,沒問題。

8樓:匿名使用者

資料先進行轉義處理。

再進行倒入。

匯出到csv檔案,csv檔案好像是以逗號為分隔符的吧?如果資料庫欄位裡含有逗號怎麼處理?比如說下面這個字

9樓:水閏愛樹木

一、是的。

二、更改分隔符的步驟:

1、單擊「microsoft office 按鈕」,然後單擊「開啟」。將顯示「開啟」對話方塊。

2、在「檔案型別」框中,選擇「文字檔案」。

(1)如果檔案為文字檔案 (.txt),則 excel 將啟動「文字匯入嚮導」。按照「文字匯入嚮導」中的說明進行操作。

單擊「幫助」以獲得有關使用「文字匯入嚮導」的詳細資訊,或者參閱文字匯入嚮導。完成嚮導中的操作步驟後,請單擊「完成」。

(2)如果檔案為 .csv 檔案,則 excel 將自動轉換該文字檔案並將其開啟。

(3)注:當 excel 開啟 .csv 檔案後,它將使用當前預設資料格式設定來解釋如何匯入每個資料列。

您可能希望能夠使用「文字匯入嚮導」更靈活地將列轉換為不同的資料格式。例如,.csv 檔案中資料列的資料格式可能是 mdy,而 excel 的預設資料格式為 ymd,或者希望將帶有前導零的數字列轉換為文字,以便可以保留前導零。

要使用「文字匯入嚮導」,可以在開啟檔案前將檔案的型別更改為 .txt,或者通過連線到文字檔案來匯入文字檔案。

10樓:皓皓皓然然然

在csv中是用 「,分割。你欄位裡面有逗號說明這個單元格的值是一個字串,所以要加引號。

比如: 第一個值為: 2010,10,10 第二個值為 40

輸出csv為: "2010,10,10",40若還有疑問hi me.

11樓:匿名使用者

是以逗號作為分隔符 不用處理。

如何把csv匯入到sql資料庫,如何把csv檔案匯入到sql資料庫

使用sql server 自帶的資料匯入嚮導,右擊擊要匯入的資料庫,任務 匯入資料啟動向導,資料來源選擇 平面檔案源 然後瀏覽開啟要匯入的csv檔案,進行必要的設定 標題行分隔符 預設回車換行,不用改 首行是否是列標題 預設不選,如果csv,第一行是列標題則選上 列分隔符 預設是逗號 行分隔符 預設...

sql資料庫中包含哪幾種檔案,資料庫有哪幾種?

快樂程式設計教育 資料檔案和日誌檔案 資料檔案分為主要資料檔案 推薦副檔名mdf 和輔助資料檔案 推薦副檔名 ndf 倩兒 根據作用不同,分為以下三種 1 主資料檔案。用來儲存資料庫的資料和資料庫的啟動資訊。每個資料庫必須有且只有一個主資料檔案,其副檔名為.mdf。實際的主資料檔案都有兩種名稱 作業...

python文字檔案資料處理,python小白 求助 讀取txt檔案,並進行資料處理

讀取一個文字檔案之後得到裡面出現最多的關鍵字 from time import time from operator import itemgetter def test 取 10 個,有需要可以修改,及定義讀取的檔案 test.txt ilist 10 strfilename test.txt c...