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()
基于python的LAI数据读取
于 2024-05-28 17:15:14 首次发布