返回列表 上一主題 發帖

文字檔讀取問題

文字檔讀取問題

請教大大,針對文字檔做資料讀取,想要將包含特定字串內容的某一列資料讀取匯入excel該如何做?謝謝~

對不起說的不夠清楚,因為需要在多個文字檔內查詢資料,希望能夠透過vba在文字檔案搜尋某一字串,再將包含此字串的整列data mport至excel工作表,請大大指點一二,謝謝~

TOP

感謝大大詳盡的答覆......

TOP

不好意思,在試的時候發現一個問題:
如果該列有包含逗號該列就會被截斷,該怎麼處理這個狀況呢?謝謝~

TOP

回復 7# GBKEE

多謝大大的幫忙,但是我又碰到另一個問題是有些data 匯入後欄位需要向左shift一欄或兩欄(根據A欄值決定需不需要shift),這又該如何做?謝謝~

   
SHIFT.zip (7.29 KB)

TOP

ㄜ....大大不好意思,因為檔案是在公司礙於PIP限制無法上傳,我在家中上傳的檔案是示意圖,我想做的事情是:查詢到檔案裡面內容如果符合下面兩列格式的data 需要匯入(部分內容為固定已可由GBKEE大大所提供程式達成),現在碰到的問題是第二列格式,其中有一欄位[parentNo]後面的數字為shift的欄位數,該列data需依此數目往左shift,另外如果我希望這些欄位能夠資料剖析成最後兩列的格式該如何做?因為TextToColumns只有一個自訂的符號,要做到好像有困難.不好意思問題有點多


"00:01:46  資料 = RAW values ( 'Z9.01','FG','90','SZ001.1','GL01',SYSDATE,'N','0.1','0.1' , '-0.0129','0.006','-0.0119','0.0305','-0.0047','-0.0066','-0.0158','0.0007', '-0.0233','-0.0057','-0.0124','0.0057','-0.0113','0.0174','0.0005','-0.0122', '-0.0136','-0.0074','-0.016','0.0003','0.0025','-0.0143','0.0031','0.0121', '0.0161','-0.0222','0.0013','-0.0118','0.0004','-0.0116','-0.0055','0.0155', '-0.0076','0.0391','0.0001','0.0117','-0.012','0.0159','-0.0137','0.0085')

"00:01:47 EQS send GLData_V5 to DS. [RvMsg]: [primPrcdId]Z9.01 [lotId]SZ001.1 [GLAutoRecipeId]V90_20 [GLEqpId]GL01 [stage]FG [parentNo]0 [intraTranslationX]-0.001 [intraTranslationY]0.000 [intraMagnification]-0.038 [intraRotation]0.035 [interRotation]0.042 [interOrthogonality]-0.020 [interExpansionX]-0.130 [interExpansionY]-0.256 [interTranslationX]-0.009 [interTranslationY]0.004 [asymrotation]-0.760 [asymmagnification]-0.134 [FlagSet]-00068+00036+00000+01000
/////////////////////////////////////////////

想要將檔案import轉換成下列格式"00:01:46        0.1        0.1        -0.0129        0.006        -0.0119        0.0305        -0.0047        -0.0066        -0.0158        0.0007        -0.0233        -0.0057        -0.0124        0.0057        -0.0113        0.0174        0.0005        -0.0122        -0.0136        -0.0074        -0.016        0.0003        0.0025        -0.0143        0.0031        0.0121        0.0161        -0.0222        0.0013        -0.0118        0.0004        -0.0116        -0.0055        0.0155        -0.0076        0.0391        0.0001        0.0117        -0.012        0.0159        -0.0137        0.0085                                                                                               
"00:01:47        -0.001        0        -0.038        0.035        0.042        -0.02        -0.13        -0.256        -0.009        0.004        -0.76        -0.134        968

TOP

回復 11# GBKEE


    回復 11# GBKEE

文字檔只有2列嗎?
第一列 有規律性嗎? 如最後一定有,'N'嗎?  要寫在哪一個檔?  
00:01:46  資料 = RAW values ( 'Z9.01','FG','90','SZ001.1','GL01',SYSDATE,'N','0.1','0.1' , '-

第二列 : data需依此數目往左shift    你的示意圖不夠清楚 請加註文字說明
如 "00:01:47        -0.001        0        -0.038        0.035        0.042        -0.02        -0.13        -0.256        -0.009        0.004        -0.76        -0.134        968      如何放置於示意檔?  一定是3個欄位嗎 ?

GBKEE大大:
因為問題太多了,一開始不太好意思問太多所以把問題分開來詢問,沒有一次把問題給說清楚還請見諒,我想做的東西是希望輸入查詢條件後自動到程式指定路徑查詢資料,然後把data import至excel並且分欄以便資料分析,其中一列data很規律直接import然後做分欄就可以(第一列),另外一列部分data需要分欄後做再欄位shift(第二列)處理
1.: 檔案內的資料不只兩列,裡頭有很多資料,我要的data是格式跟這兩列相同的部分. 檔案格式具有規律性,第一列的資料一定有 SYSDATE,'N',
2.:示意圖的第一欄數字即是第二列data裡面 [parentNo]欄位後面的數字( 此例為0不需要往左shift) ,Raw data欄位不只3個欄位,總共有十幾個欄位.

不知道這樣解釋夠清楚嗎?

PS:我附上的兩列例子在文字檔裡都是一整列的data,在網頁上會自動分列.

TOP

回復 13# GBKEE

GBKEE大大,
我的data並不會每一列都相同,你給的程式碼replace可以完成分欄工作,但是相同指令需要執行很多次一定很沒有效率,有更好的方式嗎?謝謝~
                     Str = Replace(Str, "intraTranslationX", "")         
                    Str = Replace(Str, "intraTranslationY", "")         
                    Str = Replace(Str, "intraMagnification", "")         
                    Str = Replace(Str, "intraRotation", "")         
                    Str = Replace(Str, "interRotation", "")         
                    Str = Replace(Str, "interOrthogonality", "")         
                    Str = Replace(Str, "interExpansionX", "")         
                    Str = Replace(Str, "interExpansionY", "")         
                    Str = Replace(Str, "interTranslationX", "")         
                    Str = Replace(Str, "interTranslationY", "")         
                    Str = Replace(Str, "asymrotation", "")                     
                    Str = Replace(Str, "asymmagnification", "")               
                    Str = Replace(Str, "lotId", "")     
                    Str = Replace(Str, "ovlAutoRecipeId", "")  
                     Str = Replace(Str, "ovlEqpId", "")   
                    Str = Replace(Str, "stage", "")         
                    Str = Replace(Str, "parentLotIdNo", "")         
                    Str = Replace(Str, "EQS send OVLMetrologyData_V5 to FFBS. RvMsg: primPrcdId", "")         
                    Str = Replace(Str, "FlagSet", "")

TOP

回復 15# GBKEE


    沒關係~還是很感謝GBKEE的幫忙,讓我節省了許多data整理:D 的時間.

TOP

我要將parentLotId_xxxxxxxx.1取代為0,請教一下為何下列指令不work?

Str = Replace(Str, "parentLotId_?.?", "")

TOP

        靜思自在 : 【做人的開始】每一天都是故人的開始,每一個時刻都是自己的警惕。
返回列表 上一主題