基于python的LAI数据读取

参考LI-2200LAI数据读取python

import tkinter as tk

from tkinter import filedialog

import os

import pandas as pd





def get_all_files(dir):

    """

    获取文件夹列表函数

    :param dir: 文件夹所在位置

    :return: 文件夹内文件名称列表

    """

    files_ = []

    lit = os.listdir(dir)

    for i in range(0, len(lit)):

        path = os.path.join(dir, lit[i])

        if os.path.isdir(path):

            files_.extend(get_all_files(path))

        if os.path.isfile(path):

            files_.append(path)

    return files_





def main():

    """

    主函数

    """



    root = tk.Tk() # 可视化选择文件夹

    root.withdraw()

    Folder_path = filedialog.askdirectory()

    dir_lai =  Folder_path # 文件夹所在位置

    file_dir = get_all_files(dir_lai)

    li_2200 = {}

    lai = []

    for i in file_dir:

        f = open(i, 'r')

        a = f.readlines()

        if not a[9][:3]=='LAI':

            li_2200['name'] = i[i.rindex('\\')+1: -4]

            li_2200['LAI'] = float(a[14][4:9])

            li_2200['ACF'] = float(a[16][4:10])

            li_2200['DIFN'] = float(a[17][5:11])

            li_2200['MTA'] = float(a[18][4:9])

            li_2200['LAT'] = float(a[9][7:17])

            li_2200['LON'] = float(a[10][8:19])

            li_2200['DATE'] = float(a[2][5:14])

            lai.append(li_2200.copy())

            f.close()

        else:

            li_2200['name'] = i[i.rindex('\\')+1: -4]

            li_2200['LAI'] = float(a[9][4:9])

            li_2200['ACF'] = float(a[11][4:10])

            li_2200['DIFN'] = float(a[12][5:11])

            li_2200['MTA'] = float(a[13][4:9])

            li_2200['LAT'] = None

            li_2200['LON'] = None

            li_2200['DATE'] = float(a[2][5:14])

            lai.append(li_2200.copy())

            f.close()

    df = pd.DataFrame(lai)

    DF1=df.reindex(columns=['name','LAI','ACF','DIFN','MTA','LAT','LON','DATE'])

    DF1.to_excel(r'C:\Users\Administrator\Desktop\数据\20200513before.xlsx', index=False)  # 文件输出位置

    print('完成了,到输出的文件夹看看吧!')



if __name__ == '__main__':

    main()

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我叫杨傲天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值