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.利用閉包的方式 立即執行函式也稱為小閉包因為立即執行函...