LI 2200LAI資料讀取python

2021-10-03 16:22:07 字數 2957 閱讀 5824

li2200是測量植物冠層的乙個儀器,其得到的結果是乙個個資料夾,資料多時比艱難獲取。利用python將資料夾的lai讀取出來,由於是否存在gps所以寫個判斷。讀出的資料有lai,葉傾角,經緯度。開啟時選擇li2200檔案的路徑,輸出路徑在程式裡修改。

"""

author:shenshuaijie

time:22:05 07/03/2020

des:提取li-2200的lai

"""import tkinter as tk

from tkinter import filedialog

import os

import pandas as pd

defget_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)

:return files_

defmain()

:"""

主函式"""

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]

))) 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]

))) 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(

)

2200 專項 B Cubes(stl 模擬)

原題 題意 有m個方塊,每個有座標 x,y x,y x,y 值從0到m 1,這個方塊是穩定的當且僅當 x 1,y 1 x y 1 x 1,y 1 x 1,y 1 x,y 1 x 1,y 1 x 1,y 1 x,y 1 x 1,y 1 存在方塊或者y為0,初始時穩定。你和對手輪流乙個乙個抽出所有方塊,...

HDU 2200 Eddy s AC難題 數論

解析 1 可以從中任選m個人 n m 2 有cn m 中選擇 2 再把這m個人分2組 每個人都要分組 要使滿足最小ac數大於最大ac數,只需要在m個人中插板即可 例如 m個人假如分別為 1,2,3,4,m 1,m m個人的ac數從小到大排列 只需在任意位置插板就可分為符合要求的2組 1,2,3.t,...

js 點選li輸出當前li的索引號

1.動態新增屬性的方法 星期1li 星期2li 星期3li 星期4li 星期5li ul body var lis document.queryselectorall li for var i 0 i lis.length i script 2.利用閉包的方式 立即執行函式也稱為小閉包因為立即執行函...