如何用vb修改csv文件的一个指定字段
需要用vb实现对一个CSV文件的分析,对每一行的数据进行判断,若符合一定条件则将其中的一个字段的内容修改为0.0,若不符合则不修改,然后判断下一行数据,直至文件结束。气温...
需要用vb实现对一个CSV文件的分析,对每一行的数据进行判断,若符合一定条件则将其中的一个字段的内容修改为0.0,若不符合则不修改,然后判断下一行数据,直至文件结束。气温应该如何实现?我之前以textstream对象方式打开文件,其中有write 、writeline、writeblanklines 等方法写文件,但都无法满足我的只修改某一个字段的要求。盼高手指点。谢谢!
我没处理过文本文件,关键是不知如何在文件的指定位置写,以及用什么语句写,写入的字符如果比需要覆盖的字符少,那么多出的字符如何处理等等。
死神800,fso.opentextfile(rt0, 1)中的参数1表示文件以只读方式打开,此时不能写文件;若参数取8,表示文件以追加方式打开,只能在文件结尾追加写入。而我是要修改文件中的某些字段,这两种方法都无法实现。还有你用rt10存放整个修改过的文件内容,再将rt10写入,怎么写呢,貌视应该从文件的开头写入,可指针如何定位到开头呢?文件一什么方式打开才能这样写呢?原文件多出来的字符如何删掉呢?而且这种方法将整个文件重写,工作量有些大,因为我有上千个文件要依次修改,能不能只修改某一个字段呢? 展开
我没处理过文本文件,关键是不知如何在文件的指定位置写,以及用什么语句写,写入的字符如果比需要覆盖的字符少,那么多出的字符如何处理等等。
死神800,fso.opentextfile(rt0, 1)中的参数1表示文件以只读方式打开,此时不能写文件;若参数取8,表示文件以追加方式打开,只能在文件结尾追加写入。而我是要修改文件中的某些字段,这两种方法都无法实现。还有你用rt10存放整个修改过的文件内容,再将rt10写入,怎么写呢,貌视应该从文件的开头写入,可指针如何定位到开头呢?文件一什么方式打开才能这样写呢?原文件多出来的字符如何删掉呢?而且这种方法将整个文件重写,工作量有些大,因为我有上千个文件要依次修改,能不能只修改某一个字段呢? 展开
2个回答
展开全部
可以呀。以的行方式来读文本就可以了。
你读一行然后分析一行,如果符合则那一行的内容由你指定。
这不就行了吗?
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写进去就好了
你读一行然后分析一行,如果符合则那一行的内容由你指定。
这不就行了吗?
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写进去就好了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询