使用python批量求tif均值,并将值保存到excel的指定行列
时间: 2024-03-08 15:51:13 浏览: 110
可以按照以下步骤实现:
1. 导入必要的库:
```python
import os
import glob
import gdal
import xlwt
```
2. 定义函数来获取tif文件的均值:
```python
def get_mean(file_path):
dataset = gdal.Open(file_path)
band = dataset.GetRasterBand(1)
mean = band.ReadAsArray().mean()
dataset = None
return mean
```
3. 获取所有tif文件的路径:
```python
tif_dir = 'path/to/tif/dir'
tif_files = glob.glob(os.path.join(tif_dir, '*.tif'))
```
4. 批量计算tif文件的均值并将结果保存到一个列表中:
```python
means = []
for tif_file in tif_files:
mean = get_mean(tif_file)
means.append(mean)
```
5. 将结果保存到Excel文件中的指定行列:
```python
excel_file = 'path/to/excel/file.xls'
sheet_name = 'Sheet1'
start_row = 2
start_col = 1
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet(sheet_name)
for i, mean in enumerate(means):
row = start_row + i
col = start_col
worksheet.write(row, col, mean)
workbook.save(excel_file)
```
在上述代码中,我们首先指定了Excel文件的路径、工作表名称,以及数据写入的起始行和列。然后,我们创建了一个新的Excel工作簿,并在其中添加了一个工作表。接着,我们使用一个for循环将均值列表中的每个值写入到指定的行和列中。最后,我们将工作簿保存到指定的Excel文件中。
阅读全文