| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3648 人关注过本帖
标题:vfp 用append from 导入csv文件缺少第一行资料。
只看楼主 加入收藏
hyz00001
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:168
专家分:137
注 册:2012-10-5
结帖率:100%
收藏
已结贴  问题点数:18 回复次数:17 
vfp 用append from 导入csv文件缺少第一行资料。
vfp用6.0和9.0的都测试过,问题的情况如下:
csv格式的文件是我从sql数据库中导出的资料。
每次在VFP中用append from 命令导入csv格式文件的时候会自动过滤掉第一行的数据不导入,从而每个文件都会少一行资料。
我在百度上找了半天没找到具体原因,看看谁有办法解决这个问题,谢谢。
搜索更多相关主题的帖子: sql数据库 百度 资料 
2014-04-03 20:06
hyz00001
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:168
专家分:137
注 册:2012-10-5
收藏
得分:0 
我自己编写的命令如下:

creat   dbf  xsck(;
date             c(10),;
no               c(15),;
kh               c(50),;
location         c(38),;
pn               c(28),;
qty               n(9,5),;
price            n(9,5),;
amt               n(9,5),;
dj               c(18),;
po               c(50),;
ln                c(4),;
remark           c(50))
APPEND FROM SYS(5)-'\study\xsck.csv' TYPE CSV

问题就在于每次导入的时候都会自动忽略掉第一行的数据。
2014-04-03 20:07
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
传CSV文件部分内容上来看看

VFP帮助文件中是这么说的
CSV
选用 CSV 可从一个各值之间用逗号分隔的文件中导入数据。一个 CSV 文件的第一行是字段名;当导入文件时,会忽略这个字段名。

是不是VFP把CSV文件中的第一行内容当字段名处理了。

[ 本帖最后由 sdta 于 2014-4-3 21:54 编辑 ]

坚守VFP最后的阵地
2014-04-03 21:50
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
CSV文件不熟悉的说
2014-04-04 08:35
hyz00001
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:168
专家分:137
注 册:2012-10-5
收藏
得分:0 
回复 3楼 sdta
您好,那请问该怎么样设置可以导入第一行的数据呢?
我这里的csv资料都是从sql里面的代码然后另存为csv格式的,sql的资料最好不要轻易的动。
是不是可以直接用vfp在csv文件的前面插入一行空白的,然后再进行导入操作,就可以成功避免掉第一行数据导入不成功的状态了。

我在百度上查了下用vfp操作低级文本格式的代码为:FPUTS 或者另外一个fwrite,在用之前是不是需要先用fopen打开这个csv格式的文件?如何在第一行插入?完成之后是不是要用fclose进行保存?请问是否能帮忙,谢谢。
2014-04-04 08:41
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
从理论上讲  直接操作文件  可以操作任何类型的文件  获取自己想要的任何效果  不过不会像append那样简单

DO IT YOURSELF !
2014-04-04 08:47
tanluzhe
Rank: 1
等 级:新手上路
帖 子:11
专家分:7
注 册:2014-3-6
收藏
得分:0 
用记事本或Excel打开.csv文件,直接在最上面插入一个空行后保存,再导入是不是就行了。
2014-04-04 09:28
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
1.直接在CSV文件的第一行前加一行
2.SQL导出生成TXT文件,再导入VFP

坚守VFP最后的阵地
2014-04-04 10:00
月沐庭轩
Rank: 9Rank: 9Rank: 9
来 自:京城
等 级:贵宾
威 望:17
帖 子:393
专家分:1106
注 册:2011-7-24
收藏
得分:0 
7、8楼办法不错的。

坚持学习vfp,QQ:306805680
2014-04-04 10:47
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:10 
今天看到了一个帖子,才知道CSV格式的文件就是纯文本文件,每个字段间是以','做为分隔符的,既然是文本文件,VFP就能操控它,针对你这个问题的解决方法:假如这个CSV格式的文件名:FILECSV.CSV
代码:
=STRTOFILE('123456789'+CHR(13)+CHR(10)+FILETOSTR(FILECSV.CSV'),'FILECSV.CSV')
MODIFY FILE FILECSV.CSV &&在原文件的第一行前添加记录成功(第一行内容:123456789)

坚守VFP最后的阵地
2014-04-04 22:52
快速回复:vfp 用append from 导入csv文件缺少第一行资料。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017760 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved