复制文件的一些数据并将其粘贴到python中的另一个文件

时间:2012-06-29 13:06:34

标签: python file

我有一个文件,我要复制文件的一些数据并将其粘贴到另一个文件,例如假设一个文件包含以下数据:

AlphaforBravo007 102000000010170000000001 SusanaForCharlie 1000 end

从上面的文字我想分别复制1020000000101700000000011000并将其粘贴到新文件中,每个文件都在新行上。

我真的很感激任何提示。

4 个答案:

答案 0 :(得分:3)

with open('file1.txt') as f1,open('file2.txt','w') as f2:
 for line in f1: 
   x=line.split()   #now x is ['AlphaforBravo007', '102000000010170000000001', 'SusanaForCharlie', '1000', 'end']
   f2.write('\n'.join((x[1],x[3]))+'\n')

现在file2.txt包含:

102000000010170000000001
1000

答案 1 :(得分:1)

for line in file1:
    a, b, c, d, e = line.split()
    file2.write(' '.join((b, d)) + '\n')

提示:

  • 学习如何阅读文件(最好是逐行阅读)
  • 基本文本处理 - 查找各种字符串方法(split
  • 了解如何写出文件
  • 练习描述你的问题 - 一旦描述得很好,你会发现它已经解决了一半...

答案 2 :(得分:1)

如果只想从空格分隔的文本文件中提取第二和第四列,可以使用

columns = operator.itemgetter(1, 3)
with open("input.txt") as input, open("output.txt", "w") as output:
    for line in input:
        output.write(" ".join(columns(line.split())) + "\n")

答案 3 :(得分:0)

如果您只想复制数字并避免文件从文件到另一个文件,您可以使用以下内容:

import re
with open('number.txt') as f1,open('number2.txt','w') as f2:
    for line in f1: 
        lst=line.split()
        for parts in lst:
            if not re.search('[A-Za-z]', parts): # Look for any alphabetical character in parts
                if lst[1] == parts:
                    f2.write(parts)
                else:
                    f2.write('\n' + parts)

这给出了:

102000000010170000000001
1000