对asd光谱数据的多个TXT文件进行求平均

对文本文件进行操作,将多个文本文件求平均合并为一个文件。

def sv(f, f1, waves, wave_number, block):
    f1.write('waves\t')
    for i in range(waves):
        i += 1
        f1.write(str(i))
        f1.write('\t')
    f1.write('\n')
    f.readline()
    lists = f.readlines()
    for i in lists:
        i = i.split('\t')
        f1.write(i[0])
        f1.write('\t')
        i = list(map(float, i))
        for k in range(1, int(wave_number) + 1, 30):
            sum1 = 0
            for m in range(block):
                sum1 = i[m + k] + sum1
            average = sum1 / block
            f1.write(str(average))
            f1.write('\t')
        f1.write('\n')
    f.close()
    f1.close()
    return


def main():
    """
    主函数
    """

    first = open('C:\\Users\\MagicCao\\Desktop\\实验数据\\19年试验数据\\滑县\\4.18滑县.txt', 'r')
    first_average = open('C:\\Users\\MagicCao\\Desktop\\实验数据\\19年试验数据\\滑县\\4.18滑县光谱average.txt', 'a')
    # sv(f, f1, waves, wave_number, block)求平均函数
    # f 初始文件
    # f1 平均后文件
    # waves = 32  # 小区个数
    # wave_number = 960  # 共多少波段=小区数*每个小区所测的波段数(block)
    # block = 30  # 一个小区多少波段平均
    sv(first, first_average, 32, 960, 30)


if __name__ == '__main__':
    main()

你可能感兴趣的:(对asd光谱数据的多个TXT文件进行求平均)