2010-11-13 211 views
2

我想分開一個逗號分隔文件,出於某種原因,我似乎沒有得到我期待得到的輸出。VB6逗號分隔CSV文件

下面是代碼:

strCSVPath = "E:\cfaApp\tester.csv" 
int77 = FreeFile 
Open strCSVPath For Input As #int77 

Do Until EOF(int77) 
    Input #int77, strName, intHours, strMon, strTue, strWed, strThu, strFri, strSat 
    Debug.Print strName & vbCr & intHours 
    'Debug.Print strName & vbCr & intHours & vbCr & strMon & vbCr & strTue & vbCr & strWed & vbCr & strThu & vbCr & strFri & vbCr & strSat & vbCr 
Loop 

輸出看起來是這樣的:

1.0-Store Manager (1 Employee) 

11:00 AM-8:30 PM 

10:00 AM-7:30 PM 
1.1-Assistant Managers 
Wood, Chris 

上面的輸出是錯誤的。這是CSV文件(有些是,不是所有的)

1.0-Store Manager (1 Employee),,,,,,,, 
"Pro, Bob",1.0-Store Manager,47.5,5:30 AM-3:00 PM,5:30 AM-3:00 PM,11:00 AM-8:30 PM,11:00 AM-8:30 PM,9:00 AM-6:30 PM,OFF 
1.1-Assistant Managers (3 Employees),,,,,,,, 
"Crow, Billy",1.1-Assistant Managers,47.5,10:00 AM-7:30 PM,5:30 AM-3:00 PM,5:30 AM-3:00 PM,5:30 AM-3:00 PM,OFF,11:00 AM-8:30 PM 
"Ras, Pat",1.1-Assistant Managers,47.5,5:30 AM-3:00 PM,9:00 AM-6:30 PM,10:00 AM-7:30 PM,,11:00 AM-8:30 PM,9:00 AM-6:30 PM 
"Wood, Chris",1.1-Assistant Managers,47.5,,11:00 AM-8:00 PM,8:30 AM-6:30 PM,10:00 AM-7:30 PM,5:30 AM-3:00 PM,5:30 AM-3:00 PM 
1.2- Supervisors (7 Employees),,,,,,,, 

正如你所看到的,輸出不跳過臨,鮑勃乾脆。然後在顯示Wood之前跳過Crow和Ras。

我也得到

Input past end of file 

回答

0

嘗試使用其他分隔符,如;或管道。 然後看看輸出是否正常。 如果是試圖引用名稱中的逗號或設置其他引號中的名稱,如' 玩得開心, 約翰

+0

請給出例子來擴展你的答案嗎? (歡迎使用堆棧溢出!) – 2014-09-01 13:42:51

+0

一個班輪答案不是很好的答案。請發佈代碼或提供詳細說明。 – 2014-09-01 13:45:39

+0

CSV文件是包含以','或';'分隔的數據的文件。 在這種情況下,您已分隔','。 數據文件中的'姓氏,名字'部分也包含com','。這可能會導致問題。 – 2014-09-02 14:23:08