如何用vb修改csv文件的一个指定字段

需要用vb实现对一个CSV文件的分析,对每一行的数据进行判断,若符合一定条件则将其中的一个字段的内容修改为0.0,若不符合则不修改,然后判断下一行数据,直至文件结束。气温... 需要用vb实现对一个CSV文件的分析,对每一行的数据进行判断,若符合一定条件则将其中的一个字段的内容修改为0.0,若不符合则不修改,然后判断下一行数据,直至文件结束。气温应该如何实现?我之前以textstream对象方式打开文件,其中有write 、writeline、writeblanklines 等方法写文件,但都无法满足我的只修改某一个字段的要求。盼高手指点。谢谢!
我没处理过文本文件,关键是不知如何在文件的指定位置写,以及用什么语句写,写入的字符如果比需要覆盖的字符少,那么多出的字符如何处理等等。
死神800,fso.opentextfile(rt0, 1)中的参数1表示文件以只读方式打开,此时不能写文件;若参数取8,表示文件以追加方式打开,只能在文件结尾追加写入。而我是要修改文件中的某些字段,这两种方法都无法实现。还有你用rt10存放整个修改过的文件内容,再将rt10写入,怎么写呢,貌视应该从文件的开头写入,可指针如何定位到开头呢?文件一什么方式打开才能这样写呢?原文件多出来的字符如何删掉呢?而且这种方法将整个文件重写,工作量有些大,因为我有上千个文件要依次修改,能不能只修改某一个字段呢?
展开
 我来答
死神800号
2011-04-05 · TA获得超过590个赞
知道小有建树答主
回答量:1539
采纳率:0%
帮助的人:972万
展开全部
可以呀。以的行方式来读文本就可以了。
你读一行然后分析一行,如果符合则那一行的内容由你指定。
这不就行了吗?
rt0 = "文件路径和名字"
Const ForReading = 1
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(rt0) = 0 Then Exit Function
Set rt1 = fso.opentextfile(rt0, 1)
Do While rt1.atendofstream > -1
rt100 = rt1.readline
'在这里添加你的分析,如果适合就把rt100改成你指定的
rt10 = rt10 & vbCrLf & rt100
Loop
'然后在这里把rt10写进去就好了
百度网友bdb9803
2011-04-05 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1.1万
采纳率:53%
帮助的人:1亿
展开全部
CSV就是纯文本文件,而且很有规律,每个字段间用逗号隔开,你就按文本方式读入一行处理一行好了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式