我对python很陌生。假设我在一个(非常大)分隔文本文件中有数据,如下所示:
a|b|c|d|e
1|.|.|-|.
1.2|2.6|||1.7
因为文本文件非常大,所以我想逐行读写它。我想用一个字符串.
、-
或空的单元格NA
。我试了一下:
但我想肯定有更好的方法,用分隔符?此外,此解决方案不会在行的结尾和开头提取实例。有没有更好的程序员的主意?在
预期产量:
a|b|c|d|e
1|NA|NA|NA|NA
1.2|2.6|NA|NA|1.7
我还尝试使用csv模块和regex:
import csv
import re
f=open('sample1_fixed.txt','wb')
with open('sample1.txt','rb') as inputfile:
read=csv.reader(inputfile, delimiter='|')
for row in read:
text = row[1]
text = re.sub(r'^\.$','NA',text)
text = re.sub(r'^-$','NA',text)
f.write(text + '\n')
f.close()
但这只允许我一次只写一列,我不知道如何将它们全部放入输出中。。。在
将
csv.reader
与自定义分隔符=“|”和一个用于replace_NAs的助手函数一起使用:相关问题 更多 >
编程相关推荐