首页 > 解决方案 > 用于合并和汇总两个数据文件的python代码中的问题

问题描述

我在python中有两个代码,其中一个是假设合并两个文件,另一个必须对两个文件的行求和。但是它们都以一行生成输出文件,而输入文件由 8 行组成。这是合并output.txt和的两个文件的第一个代码mass.txt

outfile = open("output.txt", "r")
massfile = open("mass.txt", "r")
finaloutfile = open("final_output.txt", "w")
for line in outfile:
    finaloutfile.write(massfile.readline().rstrip("\n")+" "+line)

outfile.close()
massfile.close()
finaloutfile.close()

第二个代码用于添加两个文件的行output.txtearth.txt

outfile = open("output.txt", "r")
earthfile = open("earth.txt", "r")
earthoutfile = open("earth_output.txt", "w")
for line in outfile:
    sl = line.split()
    lsl = len(sl)
    msl = earthfile.readline().split()
    idxmsl = 0

    for i in range(lsl-1):
        earthoutfile.write(str(float(sl[i])+float(msl[i]))+" ")
    earthoutfile.write(str(float(sl[lsl-1])+float(msl[lsl-1]))+"\n")

outfile.close()
earthfile.close()
earthoutfile.close()

问题是什么?为什么他们不合并或添加输入文件的行?

标签: python

解决方案


关于两个文件的合并,我会这样写:

outfile = open("output.txt", "r")
massfile = open("mass.txt", "r")
with open("final_output.txt", "a") as finaloutfile:
    outlines = outfile.readlines()
    masslines = massfile.readlines()
    for line in outlines:
        finaloutfile.write(line)
    for line in masslines:
        finaloutfile.write(line)

outfile.close()
massfile.close()

我刚刚测试过它并且它有效。


推荐阅读