python中循环的导入tif文件然后循环的输出excel文件
时间: 2024-04-24 21:23:57 浏览: 140
在Python中,你可以使用`pandas`库来导入tif文件并循环输出到Excel文件。下面是一个示例代码:
```python
import pandas as pd
import arcpy
from arcpy import env
env.workspace = arcpy.GetParameterAsText(0)
output_folder = arcpy.GetParameterAsText(1)
files = arcpy.ListRasters("*", "tif")
data = \[\]
for file in files:
pos = file.index('.')
outfile = file\[0:pos\]
year = file\[6:10\]
outPolygons = output_folder + "/" + year + "/" + outfile
# 将栅格图像转换为shp数据
arcpy.RasterToPolygon_conversion(file, outPolygons, "SIMPLIFY", "VALUE")
# 读取shp数据并添加到data列表中
cursor = arcpy.da.SearchCursor(outPolygons, \["name", "Areakm2"\])
for row in cursor:
data.append(\[row\[0\], row\[1\]\])
# 将data列表转换为DataFrame
df = pd.DataFrame(data, columns=\["name", "Areakm2"\])
# 将DataFrame输出到Excel文件
df.to_excel("output.xlsx", index=False)
```
这段代码首先设置工作空间和输出文件夹,然后使用`arcpy.ListRasters`函数获取所有的tif文件。接下来,循环遍历每个tif文件,将其转换为shp数据,并使用`arcpy.da.SearchCursor`读取shp数据的属性。将属性数据添加到一个列表中。最后,将列表转换为DataFrame,并使用`to_excel`方法将DataFrame输出到Excel文件中。
请注意,你需要安装`pandas`和`arcpy`库来运行这段代码,并根据你的实际情况修改工作空间和输出文件夹的路径。
#### 引用[.reference_title]
- *1* *3* [关于arcpy中批处理栅格及矢量文件的总结](https://blog.csdn.net/weixin_42055454/article/details/93216385)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [MODIS数据下载,HEG批量拼接处理,arcmap批量掩膜提取,python栅格计算](https://blog.csdn.net/QAQ_39/article/details/121332802)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文