仅写入行的一部分到文件

3 投票
2 回答
2722 浏览
提问于 2025-04-16 02:23

我想整理一下我的输出,只把需要的部分写到一个新文件里,而不是整行都写。这是相关的代码部分:

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')

撰写回答