如何用python读取arcgis中shapefile文件的属性表?可以输出为excel格式吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用python读取arcgis中shapefile文件的属性表?可以输出为excel格式吗相关的知识,希望对你有一定的参考价值。

可以,如果arcgis是10版本,可以用arcpy模块中的SearchCursor读取shp的属性表;用python读写excel需要安装pythonWin或者安装comtypes都可以,你可以上网找一下这样的资料。 参考技术A 先考虑两件事,然后再动手导入数据:1、该地形图的坐标系是什么,一般是1980西安坐标系;坐标值有没有加带号?比例尺是多少?2、高程点、高程文字注记、等高线……是否分别存放在不同的图层?导入步骤:1、添加Dwg至MXD的图层,显示未知的坐标系窗口,关闭就是了。2、打开视图菜单-数据框属性,坐标系页面,选择一个坐标系,我国常见的坐标系是在Coordinate Systems\Projected Coordinate Systems\Gauss Kruger\Xian 1980文件夹下,根据地区的经度不同,选择一个“Xian 1980 3 Degree GK Zone XX.prj”,确定之后就关闭这个窗口。3、在图层中,有注记、点、线、面、多面体等几个图层,分别点击右键,选择导出。在导出窗口使用数据框的坐标系,输入保存位置(可以是数据库,也可以是单独的shp文件),输入新文件名。点击开始,根据数据量大小等待一段时间,会在软件右下角弹出一个完成标志。 参考技术B 如果你是想基于ArcGIS进行开发,想直接在程序中获取矢量的属性表的话,用arcpy.TableToTable_conversion()(10.2版本,后续版本是否有变化我不太清楚)
只是简单的读取的话,安装python的pandas或者geopandas库,直接read_file()就行了8
输出excel的话可以用xlrd模块;或者pandas里的to_csv()然后手动另存为excel(一般还是存成.csv比较好,毕竟方便python的读取)
参考技术C 安装个xlrd

如何用python读取excel中的文件

#导入模块
import xlrd
#读取excel文件
def read_excel():
workbook = xlrd.open_workbook(\'data.xls\')
# workbook.sheet() #获取所有工作簿的表
nameList = workbook.sheet_names()#获取所有表名
print(nameList)
tableone = workbook.sheet_by_name(nameList[0])
rows = tableone.nrows #行
cols = tableone.ncols #列
for i in range(0,rows):#遍历行
row_value = tableone.row_values(i)#行内容
print(row_value)

for i in range(0,cols):#遍历列
col_value = tableone.col_values(i)#列内容
print(col_value)

#获取具体单元格的内容,第几行,第几列(从0开始)
cell_value = tableone.cell_value(1,1)
print(cell_value)

read_excel()

以上是关于如何用python读取arcgis中shapefile文件的属性表?可以输出为excel格式吗的主要内容,如果未能解决你的问题,请参考以下文章

如何用python读取arcgis中shapefile文件的属性表?可以输出为excel格式吗

如何用arcgis做电子地图

如何用ENVI和ARCGIS切割出图像的制定区域

如何用arcgis制作公里网格

如何用arcgis10.1创建渔网

如何用arcgis合并两个要素?