如何将文本数据逐个读入到数据表??

cxg121 2005-02-01 05:30:16
文本文件为:
中国,123.21,345.78,数据
日本,文字,332.12,678.12
……

我要逐个分别判别是文字和数字,然后导入到数据表相应字段。
...全文
121 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxg121 2005-02-05
  • 打赏
  • 举报
回复
不错,谢谢!过年了,祝新年心想事成!万事如意!
十豆三 2005-02-05
  • 打赏
  • 举报
回复
LcString1=FILETOSTR('c:\111\abc.txt') &&文本转为字符串
gnNumLines=MEMLINES(LcString1) &&取得字符串的行数
FOR I=1 TO gnNumLines
IF LEN(MLINE(LcString1,I))=0
MESSAGEBOX('文本中有空行!',64,'信息提示')
ENDIF
ENDFOR
cxg121 2005-02-05
  • 打赏
  • 举报
回复
十豆三的意见不错的,个别地方修改而已。
十豆三 2005-02-05
  • 打赏
  • 举报
回复
空行好判断,将他删除不太方便,不如导入DBF表后再删除更容易些。
cxg121 2005-02-05
  • 打赏
  • 举报
回复
我编写的目的就是找出没有规则的数据,将之修改为具有一定规则的。
qv2003 2005-02-05
  • 打赏
  • 举报
回复
文本文件应该有一定的规则吧
cxg121 2005-02-05
  • 打赏
  • 举报
回复
请问该如何判别文本中是否存在空行(没有内容),并将他删除呢?
十豆三 2005-02-04
  • 打赏
  • 举报
回复
我下午回来给你做个例子。
cxg121 2005-02-04
  • 打赏
  • 举报
回复
这是工作需要,必须得这样的
十豆三 2005-02-04
  • 打赏
  • 举报
回复
*如果你的表的字段类型为:字符型,数值型1,数值型2,数值型3,,数值型4....
Y=0
LcString1=FILETOSTR('c:\111\abc.txt') &&文本转为字符串
gnNumLines=MEMLINES(LcString1) &&取得字符串的行数
FOR I=1 TO gnNumLines
LcString2=STRTRAN(MLINE(LcString1,I),'.','')
J=OCCURS(",",LcString2)
IF J>2 &&假设文本中每行都是三列,如果不是三列,可修改此数,如都是10列,把此数改为9
Y=1
EXIT
ENDIF
FOR P=2 TO J+1 &&第一个字符型不用判断
IF P=J+1
LcString3=SUBSTR(LcString2,AT(",",LcString2,P-1)+1,LEN(LcString2)-AT(",",LcString2,P-1))
FOR X=1 TO LEN(LcString3)
IF NOT ISDIGIT(SUBSTR(LcString3,X,1))
Y=1
EXIT
ENDIF
ENDFOR
ELSE
LcString3=SUBSTR(LcString2,AT(",",LcString2,P-1)+1,AT(",",LcString2,P)-(AT(",",LcString2,P-1)+1))
FOR X=1 TO LEN(LcString3)
IF NOT ISDIGIT(SUBSTR(LcString3,X,1))
Y=1
EXIT
ENDIF
ENDFOR
ENDIF
IF Y=1
EXIT
ENDIF
ENDFOR
IF Y=1
EXIT
ENDIF
ENDFOR
IF Y=0
MESSAGEBOX('文本格式没有问题,可以执行APPEND FROM 进行导入!',64,'信息提示')
ELSE
MESSAGEBOX("文本中有不能导入格式!",48,"信息提示")
ENDIF
dfwxj 2005-02-03
  • 打赏
  • 举报
回复
没错,没什么更好的方法
dfwxj 2005-02-03
  • 打赏
  • 举报
回复
你这种想法不应该是一个玩程序的人的思维
十豆三 2005-02-03
  • 打赏
  • 举报
回复
这个没有太简易的方法,只能像楼上说的,把文本文件转为字符串,然后再写程序将字符串数据中“,”号前后的数据进行判断,如果符合要求,就导入,否则不导入并MESSAGEBOX

要不这样,你说一下你的表结构,即要求文本中每个“,”号间的数据是字符还是数字,然后我写一段代码,你参考一下。
cxg121 2005-02-03
  • 打赏
  • 举报
回复
我的表结构是:字符,数值,数值
我担心导入前的文本文件因为多了逗号,导致数据已经改变,想事先检测是否文本的每一行都是"文字,数字,数字"格式,中间没有多余的逗号,或者间杂有字符.
cxmcxm 2005-02-01
  • 打赏
  • 举报
回复
用filetostr函数将其转为字符串,再写程序将字符串数据读入你的表中.

2,722

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧