我使用VB6和ADO一起與Microsoft文本驅動程序從一個ASCII文件導入數據。該文件是逗號分隔的,但它也包含圍繞文本數據字段的雙引號。這些字段也是固定的寬度。ADO和Microsoft文本驅動程序 - 字段分隔符問題
我有一個問題,驅動程序錯誤地讀取列時,其中一行包含引號雙引號裏面的內容。這發生在左側第二列的「零件描述」欄內。發生這種情況時,右側的列全爲空值,而文本文件中則不是這種情況。
我認爲這將是最好只使用逗號作爲分隔符。但是,我相信逗號也出現在「部分描述」列中,所以這意味着我應該真正加載文件爲固定寬度。我不知道有什麼辦法可以做到這一點,除非我可以在schema.ini文件中指定。
關於如何解決這個任何想法?
編輯:
你被允許在你的Schema.ini文件指定固定的寬度。但是,在我看來,作爲分隔符/限定符存在的逗號和引號會阻止它正常工作。看起來我可能必須「手動」讀取文件,並在使用MS Text驅動程序加載之前以我自己的格式將其寫回。仍在尋找其他意見。
如果您將報價和撇號稱爲撇號,則更容易清楚。 「雙引號」表示連續兩個引號,例如「」。 – Bob77 2011-03-08 23:56:37
這將是非常棘手的重新分析和重新格式化。如果你試圖忽略引號作爲文本分隔符,那麼值中的嵌入逗號會讓你感到興奮。 – Bob77 2011-03-09 00:02:33
很高興你能看到鮑勃的困境。看起來下面的兩個答案忽略了我對這個文件有多個分隔符和固定寬度。 – HK1 2011-03-10 04:06:16