将file1的每一行复制到file2的其他每行中(Python)

绿色浣熊23

对不起,标题太荒谬了;这可能就是为什么我无法在Google上找到答案的原因。

我想将5个文本文件合并为1个文件。我希望使用以下格式:

line1 of file1
line1 of file2
line1 of file3
line1 of file4
line1 of file5
line2 of file1
line2 of file2
line2 of file3
line2 of file4
line2 of file5

等等。

我尝试使用下面的bash命令,但对于sed来说似乎太多了:它只是将文本插入第一行,而不是我正在调用的变量的行。

for ((num=1; num<=66; num++)) ; do
    queryline=$(sed -n "${num}p" "file2.txt")
    sed -i "${num}i ${queryline}" "file1.txt"
done

(我也尝试过)

for ((num=1; num<=66; num++)) ; do
    numa=$((num + 1))
    queryline=$(sed -n "${num}p" "file2.txt")
    sed -i "${numa}i ${queryline}" "file1.txt"
done

我认为使用python(3.4)可能会更容易,但是我不确定如何做到这一点。提示请任何人?

德莱尼

使用contextlib.ExitStack()将输入文件作为一个组来处理,并使用zip来读取所有文件中的行:

import contextlib
import os

filenames = ['a','b','c','d','e']
output_file = 'fred'

# setup files for test
for filename in filenames:
    with open(filename, 'w') as fp:
        for i in range(10):
            fp.write('%s %d\n' % (filename, i))
if os.path.exists('fred'):
    os.remove('fred')

# open all the files and use zip to interleave the lines    
with open(output_file, 'w') as out_file, contextlib.ExitStack() as in_files:
    files = [in_files.enter_context(open(fname)) for fname in filenames]
    for lines in zip(*files):
        # if you're not sure last line has a \n
        for line in lines:
            out_file.write(line)
            if not line.endswith('\n'):
                out_file.write('\n')
        # if you are sure last line has a \n
        # out_file.write(''.join(lines))

print(open('fred').read())

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Awk将file1的每一行保存到新文件中,文件名来自file2的每一行

来自分类Dev

如何将文件(file2)中的10行添加到2行(file1)之后的另一行中?

来自分类Dev

将工作表1中的每一行复制到工作表2中的两行中

来自分类Dev

将file1中的M行替换为file2中的N行

来自分类Dev

从 File1 获取特定行,从 File2 获取其他行并将它们打印在 File3 中

来自分类Dev

Python将数据从1个df复制到其他df中的第一个匹配行

来自分类Dev

将pandas data.frame中的每一行复制到单个文件

来自分类Dev

将多个列名称复制到每一行的变量中

来自分类Dev

将pandas data.frame中的每一行复制到单个文件

来自分类Dev

如果file2中存在file1中的列值,则将file1中的所有行值添加到file2中

来自分类Dev

删除file1在file2上存在的行

来自分类Dev

如何在Lambda中将函数从python file1导入到file2

来自分类Dev

在Powershell中从file1中删除存在于file2中的行

来自分类Dev

将file1的行值添加到file2的列标题中

来自分类Dev

从file1读取行并替换file2中的行标记的最快方法

来自分类Dev

awk将file1中的记录与file2中的单个记录相乘

来自分类Dev

如何使用粘贴将一列从file2追加到file1

来自分类Dev

打印“ file2”中所有行号存储在“ file1” $ 2中的行

来自分类Dev

获取file1中不在file2中的行

来自分类Dev

用file2中的相应行替换file1中的数字

来自分类Dev

从file2中给定的特定单词开始提取file1中的行

来自分类Dev

Hamcrest: file1 或 file2

来自分类Dev

从Google工作表复制A1值,然后复制到其他Google工作表的B列中的第一行

来自分类Dev

从File2中提取行已找到File1

来自分类Dev

使用xargs和sed将第一行从一个文件复制到其他文件

来自分类Dev

将矩阵的每一行复制到一个临时数组

来自分类Dev

FloatingActionButton被复制到ListView的每一行

来自分类Dev

熊猫数据框获取每个组的第一行并复制到其他行

来自分类Dev

Linux中两个文件的重叠,或分别用file2中的行替换file1中的行

Related 相关文章

  1. 1

    使用Awk将file1的每一行保存到新文件中,文件名来自file2的每一行

  2. 2

    如何将文件(file2)中的10行添加到2行(file1)之后的另一行中?

  3. 3

    将工作表1中的每一行复制到工作表2中的两行中

  4. 4

    将file1中的M行替换为file2中的N行

  5. 5

    从 File1 获取特定行,从 File2 获取其他行并将它们打印在 File3 中

  6. 6

    Python将数据从1个df复制到其他df中的第一个匹配行

  7. 7

    将pandas data.frame中的每一行复制到单个文件

  8. 8

    将多个列名称复制到每一行的变量中

  9. 9

    将pandas data.frame中的每一行复制到单个文件

  10. 10

    如果file2中存在file1中的列值,则将file1中的所有行值添加到file2中

  11. 11

    删除file1在file2上存在的行

  12. 12

    如何在Lambda中将函数从python file1导入到file2

  13. 13

    在Powershell中从file1中删除存在于file2中的行

  14. 14

    将file1的行值添加到file2的列标题中

  15. 15

    从file1读取行并替换file2中的行标记的最快方法

  16. 16

    awk将file1中的记录与file2中的单个记录相乘

  17. 17

    如何使用粘贴将一列从file2追加到file1

  18. 18

    打印“ file2”中所有行号存储在“ file1” $ 2中的行

  19. 19

    获取file1中不在file2中的行

  20. 20

    用file2中的相应行替换file1中的数字

  21. 21

    从file2中给定的特定单词开始提取file1中的行

  22. 22

    Hamcrest: file1 或 file2

  23. 23

    从Google工作表复制A1值,然后复制到其他Google工作表的B列中的第一行

  24. 24

    从File2中提取行已找到File1

  25. 25

    使用xargs和sed将第一行从一个文件复制到其他文件

  26. 26

    将矩阵的每一行复制到一个临时数组

  27. 27

    FloatingActionButton被复制到ListView的每一行

  28. 28

    熊猫数据框获取每个组的第一行并复制到其他行

  29. 29

    Linux中两个文件的重叠,或分别用file2中的行替换file1中的行

热门标签

归档