C 利用OleDb讀取csv檔

2021-08-28 15:48:46 字數 1120 閱讀 8505

**:

透過oledb的方式讀取csv檔常會遇到型別轉換的問題。

以機關oid為例,2.16.886.101.20003會被轉成2.1688。

若要解決這問題,就要參考微軟提供的這個設定檔的說明(

將schema.ini放置於與csv檔案相同的目錄中。(注意:檔名一定要是schema.ini)

撰寫schema.ini:

加入關聯的csv檔:(例如:[309040000e-20080910.csv])

第一行是否為欄位名稱(true/false):colnameheader=true

設定每一行的分隔符號:以tab分隔(format=tabdelimited), 以csv的逗號分隔(format=csvdelimited)

檔案編碼:(例如:characterset=ansi)

各字段的資料格式設定:coln(n表示順序)=customernumber(欄位名) text(資料型態) width 10(資料長度)

設定olddb的connectionstring:provider=microsoft.jet.oledb.4.0;data source=;extended properties='text;'

data source:這邊要給的是目錄的路徑

extended properties:只需指定text, 其他的將會套用設定檔schema.ini

查詢csv檔(注意:查詢的物件是檔名):select * from [test.csv]

指定欄位的方式(注意:欄位名是定義在schema.ini中的, 不是在csv的第一行欄位名稱):dttable.rows[0]["欄位名"]

程式碼如下:

using (oledbconnection conn = new

oledbconnection(@"provider=microsoft.jet.oledb.4.0;data source=c:

\csv\;extended properties='text;'"))

catch (

exception ex)

this.gridview1.datasource = dttable;

this.gridview1.databind(); }

C 讀取Excel(通過OleDb)

通過oledb連線,讀取excel。provider microsoft.jet.oledb.4.0 data source filenameurl extended properties excel 8.0 hdr yes imex 1 特別注意 extended properties excel...

c 讀取csv到陣列 python讀取csv檔案

python讀取csv檔案 csv檔案,用記事本編輯,然後命名為test1.csv 1,2,3,4 5,6,7,8 9,10,11,12 用excel開啟,就是這樣的 使用python讀取檔案 按行讀取。然後把讀到的東西賦值給python程式中的變數。這個變數,可以是乙個列表 在這裡,是乙個2維的列...

OleDb讀取CSV檔案 使用指定的分隔符號

今天在用oledb方式讀取乙個csv檔案的時候,發現得到的文字不是通常用逗號隔開的。而是用tab製表符來隔開的。orderid ordername 1 1 2 2 3 3 然後去msnd查詢了了下發現有針對tab製表符的指定引數 tabdelimited 檔案被當做製表符分隔的檔案然後嘗試了下降fm...