VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

請教用vfp精靈操作import的步驟可以化成prg嗎?

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
sthuang66



註冊時間: 2014-04-27
文章: 178


第 1 樓

發表發表於: 星期五 一月 02, 2015 3:27 am    文章主題: 請教用vfp精靈操作import的步驟可以化成prg嗎? 引言回覆

我有好多筆csv的檔案要轉成DBF
vfp9精靈Import步驟如下
1.File type 選 text file , 然後按 Locate , 載入檔案
2.確認資料格式,
 2-1Data format 選 Delimited
 2-2 Field Name in row : 欄位名稱在那一行, 如果檔案沒有欄位名稱選0,
 2-3 Begin import at row : 確定自那行開始匯入資料
 2-4 field delimiters : 確認欄位的區隔符號, 如果是 [,] 選 Comma...
3.定義欄位的名稱, 格式 , 長度....
4.最後選 finish
請教各位高手以上步驟可以寫成PRG嗎?我已經爬完論壇的文!好像都沒有很好的答案
回頂端
檢視會員個人資料 發送私人訊息
bx1166



註冊時間: 2011-12-06
文章: 273


第 2 樓

發表發表於: 星期五 一月 02, 2015 4:46 pm    文章主題: 引言回覆

Use urdbf.dbf
Append from urcode.csv type sdf deli with ","

試試看,當文字檔案處理即可。
回頂端
檢視會員個人資料 發送私人訊息
sthuang66



註冊時間: 2014-04-27
文章: 178


第 3 樓

發表發表於: 星期五 一月 02, 2015 7:08 pm    文章主題: 引言回覆

假設我的檔案是10309.csv,其中第一列是將來dbf的欄位名!第二列之後才是資料
--------------------------------------------------------------
Select urdbf.dbf
Append from urcode.csv type sdf deli with ","
---------------------------------------------------------------
有點不懂上面高手的說明
回頂端
檢視會員個人資料 發送私人訊息
bx1166



註冊時間: 2011-12-06
文章: 273


第 4 樓

發表發表於: 星期五 一月 02, 2015 9:19 pm    文章主題: 引言回覆

如果第一行是要用來當dbf欄位名,那就有麻煩些,如果每次產生的欄位都不一樣,
就我所想得到的,全部用文字來處理,需要計算的欄位,再用函數轉換來計算。
而第一筆資料就用來顯示欄位名。
真的需要重複一再操作的話,就應該大家用固定的格式,寫程式才能夠簡單。
Csv以固定的格式出現,這第一行就不要出現欄位名,處理起來就比較簡單,
先建立dbf,如csv欄位一樣順序,as example.dbf
Mfile=str(year(date()))+str(month(date()))+str(day(date()))+'.dbf'
**產生新檔案名稱
Use example.dbf
Copy stru to &mfile
Use &mfile
Append from 10390.csv type sdf deli with ','
回頂端
檢視會員個人資料 發送私人訊息
sthuang66



註冊時間: 2014-04-27
文章: 178


第 5 樓

發表發表於: 星期六 一月 03, 2015 9:08 pm    文章主題: 引言回覆

感謝bx1166的回答!您的方法我已經試過沒有問題!
其實我的作業是有好幾個EXCEL檔案,其中每個檔的欄位都是一樣的只是資料比數不同
只是其中欄位太多有32個,我只要6個!
第一個用createobject去操作EXCEL直接瘦身!這一部分花了很多時間因為不是很懂VBA語法
不過也完成了
第二是把xls檔格式轉成CSV!然後手動用精靈把它改成DBF格式!因為精靈在轉換時可以選擇第一列為欄位名
接著用select就篩出我要的欄位!
接著要分析部分可以用VFP或是輸出成EXCEL格式處理

所以我才發問手動部分是否可以寫成PRG!!因為我的xls檔案中第一列是轉成DBF時的欄位名!煩的是第一列要當欄名的有32個
下create命令再Append就稍微麻煩一點
還是謝謝bx1166指導!我又多學一招
回頂端
檢視會員個人資料 發送私人訊息
bx1166



註冊時間: 2011-12-06
文章: 273


第 6 樓

發表發表於: 星期六 一月 03, 2015 9:16 pm    文章主題: 引言回覆

第一行如果是欄位的名稱,弄成dbf欄位並不難,問題是怎麼讓程式傳達欄位種類以及長度,
所以才麻煩。先建立樣本就應該可以大大的簡化過程。
回頂端
檢視會員個人資料 發送私人訊息
lygcw9603



註冊時間: 2011-12-25
文章: 130


第 7 樓

發表發表於: 星期六 一月 03, 2015 10:08 pm    文章主題: 引言回覆

自己手,丰衣足食。
回頂端
檢視會員個人資料 發送私人訊息
bx1166



註冊時間: 2011-12-06
文章: 273


第 8 樓

發表發表於: 星期日 一月 04, 2015 10:46 am    文章主題: 引言回覆

如果原csv有36個欄位,只要提出6個,example.dbf可以弄成36個欄位,
改成
Use example.dbf
Zap
Append from xxx.csv type sdf deli with ','
Copy to &mfile field f1,f2,f3,f4,f5,f6 &&your field lists here
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作