今天在用oledb方式讀取乙個csv檔案的時候,發現得到的文字不是通常用逗號隔開的。而是用tab製表符來隔開的。
orderid ordername然後去msnd查詢了了下發現有針對tab製表符的指定引數:1 1
2 2
3 3
tabdelimited 檔案被當做製表符分隔的檔案然後嘗試了下降fmt設定為tabdelimited,但是結果卻發現並不能得到分隔的結果。貌似被微軟的文件坑了還是自己的了理解可能有偏差。看到fmt還有其他的引數,然後就逐一嘗試了:
fmt=1 ==>失敗然後看到網上有說可以改登錄檔,因為預設值逗號就是設定在登錄檔裡的,這是路徑:fmt=delimited("+" "+") ==>失敗
hkey_local_machine\software\microsoft\jet\4.0\engines\text\format但是沒找到。。。由於系統是win8可能位置不一樣坑爹。。。google也上不了。。。於是改登錄檔的方式沒有得到嘗試。而且改登錄檔也不是推薦的。
在網上serach了半天,終於找到了乙個對我來說比較神奇的solution,利用schema.ini檔案。
在csv檔案所在的目錄建立乙個這樣的檔案,然後寫一下內容:
[order.csv]執行程式,得到預期的結果:format=tabdelimited
colnameheader=true
maxscanrows=0col1=orderid text width 10col2=ordername text width 30
C 利用OleDb讀取csv檔
透過oledb的方式讀取csv檔常會遇到型別轉換的問題。以機關oid為例,2.16.886.101.20003會被轉成2.1688。若要解決這問題,就要參考微軟提供的這個設定檔的說明 將schema.ini放置於與csv檔案相同的目錄中。注意 檔名一定要是schema.ini 撰寫schema.in...
讀取 CSV 檔案
csv檔案 即 csv comma separate values 用逗號分隔值,可以用excel開啟檢視 由於是純文字,任何編輯器都快可以開啟檢視.與excel不同的是,在csv檔案中 1.值沒有型別,所有值都是字串 2.不能指定字型顏色等樣式 3.不能指定單元格的寬高,不能合併單元格 4.沒有多...
ruby 使用csv讀取檔案問題
undergraduatestudent.where sno 2012301040047 first.keys.values.join undergraduatestudent.where sno 2012301040047 first.attributes.values.join data.txt...