0
4列,ID,PARENTID,類別,OrderNo和類別中可以有逗號,例如「銷售經理」或「HR,招聘」所以我將不得不處理,而不能夠知道這些單詞帶有引號,因爲它們使用的文件不是這樣,所以我需要用奇數個逗號來處理行,然後將這些行用逗號分類處理裏面所以它有點複雜。
4列,ID,PARENTID,類別,OrderNo和類別中可以有逗號,例如「銷售經理」或「HR,招聘」所以我將不得不處理,而不能夠知道這些單詞帶有引號,因爲它們使用的文件不是這樣,所以我需要用奇數個逗號來處理行,然後將這些行用逗號分類處理裏面所以它有點複雜。
我個人使用Microsoft Text Driver解析CSV文件,使處理數據變得更容易。
首先創建一個text.dsn文件,並在你的web應用程序的地方保存(在本例中,我會承擔其在CSV文件所在)
[ODBC]
DRIVER=Microsoft Text Driver (*.txt; *.csv)
UID=admin
UserCommitSync=Yes
Threads=3
SafeTransactions=0
PageTimeout=5
MaxScanRows=25
MaxBufferSize=512
ImplicitCommitSync=Yes
FIL=text
Extensions=txt,csv,tab,asc
DriverId=27
然後把它作爲一個正常的數據庫連接例如:
strPath = server.mappath("/csv/")
sDSNFile = "text.dsn"
strCSVFile = "test.csv"
sDSN = "FileDSN=" & strPath & sDSNFile & ";DefaultDir=" & strPath & ";DBQ=" & strPath & ";"
Set Conn = CreateObject("ADODB.Connection")
Conn.Open sDSN
sql = "SELECT * FROM [" & strCSVFile & "]"
set rs = conn.execute(sql)
do until rs.eof
id = rs("ID")
ParentID = rs("ParentID")
Category = rs("Category")
OrderNo = rs("orderno")
' do something cool here
loop
這種方式,你可以拉說,所有的開發人員使用標準的SQL
sql = "SELECT * FROM [" & strCSVFile & "] where Category='Developer'"
何這有助於。
ps。如果你沒有安裝它,我認爲文本驅動程序是M icrosoft Access Database Engine redistributable的一部分,但它已經有一段時間了,所以可能是錯誤的:)
它包含在MDAC(Microsoft數據訪問組件)中,您可以也使用噴射OLEDB驅動http://www.connectionstrings.com/textfile/。有一點需要注意 - 確保在最後逗號分隔的行之後沒有額外的換行符 – John 2015-02-07 14:29:59