2013-04-18 67 views

回答

2

如果你只是想逐字加載的內容,然後

on mouseUp 
    put url ("file:" & pathToFile) into tContents 
end mouseUp 

會做的伎倆。 要獲得列的字段,你必須做更多的工作。一種方法:

on mouseUp 
    put url ("file:" & pathToFile) into tContents 
    -- set the itemDelimiter to tab -- if necessary 
    repeat for each line tLine in tContents 
    put item 1 of tLine & cr after field "fieldA" 
    put item 2 of tLine & cr after field "fieldB" 
    put item 3 of tLine & cr after field "fieldC" 
    end repeat 
end mouseUp 
+0

呼叫'創建卡'在哪裏? –

+0

我想你會把它放在重複循環中,如果你必須使用基於卡的數據庫...如果CSV文件是在電子表格中創建的,它可能會在部分或全部字段中引用。有一些庫解析CSV ..可能是在線修改... –

+0

在http://revonline2.runrev.com/search/上搜索CSV不會導致結果。 –

0

如果數據是乾淨的,CSV文件通常以「;」分隔字段,所以你可以只是標籤替換它們,並使用「基本表字段」:

put url ("file:" & pathToFile) into tData 
replace ";" with tab in tData 
put tData into field "data" 

如果你的數據是UTF8或者你需要它首先翻譯別的東西。

+0

**清理CSV文件**當然應該是__a乾淨的CSV文件it__ – hliljegren

+0

適用於ANSI數據,但不適用於UFT -8。我使用'把uniencode(tData,「utf8」)放入tData'中。如何設置表格字段的unicodeText? '把tData放入字段「data」的unicodeText中給出了語法錯誤。字段「數據」是網格。 –

+0

您需要將字段「data」的unicodeText設置爲tData' – hliljegren

0

爲了將數據讀入變量lCsvData:

local lCsvData 

on importCsv 
    answer file "Chooose CSV file..." 
    if it is not empty then 
    put it into myPath 
    put url ("binfile:" & myPath) into myData 

現在我們可以對數據進行解碼:

put urlDecode(urlEncode(myData,"UTF8")) into myData 

問題:數據可以包含的回報。讓我們刪除物品的退貨。如有必要,您可以分別處理每個項目。

put empty into lCsvData 
    set the itemDel to semicolon 
    repeat for each line myLine in myData 
     repeat for each item myItem in myLine 
     put replaceText(myItem,cr,numToChar(14)) after lCsvData 
     end repeat 
     put cr after lCsvData 
    end repeat 
    end if 
end importCsv 

現在你有乾淨的數據。您可以選擇一條線並將其放入字段中:

on showLine theLine 
    put line theLine of of lCsvData into myLine 
    set the itemDel to semicolon 
    repeat for each item myItem in myLine 
    put replaceText(myLine,numToChar(14),tab) into fld 1 
    end repeat 
end showLine 

其中theLine是整數。您可以使用cr而不是製表符,並且可以用任何想要格式化輸出字段的方式來調整此腳本。

相關問題