仅写入行的一部分到文件
我想整理一下我的输出,只把需要的部分写到一个新文件里,而不是整行都写。这是相关的代码部分:
counter = 1
for line in completedataset:
print counter
counter +=1
for t in matchedLines:
if t in line[:line.find(',')]:
smallerdataset.write(line)
break
这里有一段数据示例:
NOVE1780418","---","JAX17054099","5","156323558"等等。
我只想写到第三个逗号前面的数字。我需要一些帮助,修改写入的代码,只写到第三个逗号为止。这个文件非常大,我希望新的代码不会让程序变慢,反而能加快速度。谢谢,Bob
2 个回答
1
for line in infile:
line = line.strip().split(',',3)
outfile.write(','.join(line[:-1]) + '\n')
如果你的数据中有可能出现逗号(','),那么你就需要使用csv模块来处理这些数据。
4
这应该就这么简单...
for line in infile:
line = line.strip().split(',')
outfile.write(','.join(line[:3]) + '\n')