我想直接修改文件,将文件中以逗号','分割的第4列如果是空字段的话增加一个字符串 ,根据我写的python程序。能够实现将第4列空字段增加字符串,但是修改后,文件里面很多空行!求解!
源文件内容:a.txt- 0002,0012,1372377,qweqeqw,2013031100000728,647669,621661200000307,,,01,,10000.00000000000000,01,20130311,20130311,071620
- 0002,0012,1363165,,2013031100000730,627706,622202400004358,,,01,,20000.00000000000000,01,20130311,20130311,071714
- 0002,0012,1366224,,2013031100000939,663489,62226013100016x,,,01,,5000.000000000000000,01,20130311,20130311,073745
- 0002,0012,1371530,,2013031100000940,682012,6225887835197,,,01,,20000.00000000000000,01,20130311,20130311,073746
- 0002,0012,1353800,,2013031100000943,678769,6222980018821,,,01,,5000.000000000000000,01,20130311,20130311,073804
- 0002,0012,1351230,cccddd,2013031100000943,678769,6222980018821,,,01,,5000.000000000000000,01,20130311,20130311,073804
复制代码 python 代码- #!/usr/bin/python
- import fileinput
- f = open('a.txt','r')
- for i in f:
- s = i.split(',')
- a = s[2]
- b = s[4]
- c = "some string"
- x = "%s,,%s" %(a,b)
- y = "%s,%s,%s" %(a,c,b)
- for line in fileinput.input(files='a.txt',inplace=1):
- print line.replace(x,y)
- fileinput.close()
- f.close()
复制代码 执行后结果,部分(删除了很多空行,实际空行比下面的多):- 0002,0012,1372377,qweqeqw,2013031100000728,647669,621661200000307,,,01,,10000.00000000000000,01,20130311,20130311,071620
- 0002,0012,1363165,some string,2013031100000730,627706,622202400004358,,,01,,20000.00000000000000,01,20130311,20130311,071714
- 0002,0012,1366224,some string,2013031100000939,663489,62226013100016x,,,01,,5000.000000000000000,01,20130311,20130311,073745
复制代码 |