python批量将nc文件转成tif文件
时间: 2023-09-23 08:04:07 浏览: 191
python 批量修改txt文件(删除指定行/修改指定关键词/删除重复项目/新增内容/修改编码格式)
要批量将多个 `.nc` 文件转换为 `.tif` 文件,你可以使用 Python 的 `os` 模块来获取文件列表,然后循环读取每个 `.nc` 文件并将其转换为 `.tif` 文件。以下是一个示例代码:
```python
import netCDF4
import gdal
import os
# 设置输入输出文件夹路径
input_folder = 'your_input_folder'
output_folder = 'your_output_folder'
# 获取 .nc 文件列表
nc_files = [f for f in os.listdir(input_folder) if f.endswith('.nc')]
# 循环处理每个 .nc 文件
for nc_file in nc_files:
# 打开 .nc 文件
ds = netCDF4.Dataset(os.path.join(input_folder, nc_file))
# 读取数据
data = ds.variables['variable_name'][:]
# 获取元数据信息
geo_transform = (0.0, 0.01, 0.0, 0.0, 0.0, -0.01) # 示例数据,需要根据实际情况修改
projection = 'WGS84' # 示例数据,需要根据实际情况修改
# 将数据写入 .tif 文件
driver = gdal.GetDriverByName("GTiff")
out_data_set = driver.Create(os.path.join(output_folder, os.path.splitext(nc_file)[0] + '.tif'), data.shape[1], data.shape[0], 1, gdal.GDT_Float32)
out_data_set.SetGeoTransform(geo_transform)
out_data_set.SetProjection(projection)
out_data_set.GetRasterBand(1).WriteArray(data)
out_data_set.FlushCache()
out_data_set = None
```
在上面的代码中,你需要将 `your_input_folder` 和 `your_output_folder` 替换为你要读取 `.nc` 文件的文件夹和保存 `.tif` 文件的文件夹的路径。你还需要将 `variable_name` 替换为你要提取的变量名。代码将在输出文件夹中生成与输入文件夹中每个 `.nc` 文件对应的 `.tif` 文件。
希望这可以帮助到你。如果你遇到任何问题,请随时向我提问。
阅读全文