属性表输出为xlsx格式【脚本工具分享】

4
分享 2017-08-11
使用Arcmap自带的table to excel工具,只能输出xls格式,由于xls的行数限制,当属性表记录数超过65536行时,会有问题。
使用该工具,导出的xlsx可满足大部分输出需求,虽然xlsx也有行数限制(1048576行)。如果这个也不行,建议使用table to dbase工具,导出为dbf格式。
360截图20170811190616218.jpg

360截图20170811185850232.jpg

工具的使用:
1、解压压缩包
2、在Catalog中找到脚本工具,点击属性,将脚本引入至工具中就可以使用了

360截图20170818160029896.jpg


注意:使用前,需要将Arcmap自带的Python安装xlsxwriter模块。
最简单的安装方式为,先到Arcmap自带的Python路径下,一般为C:\Python27\ArcGIS10.X
在文件地址栏输入cmd,回车进入cmd窗口
360截图20170818155153062.jpg

输入
pip install xlsxwriter
360截图20170818155410945.jpg

这样就安装完成了
其他安装的方式可以看下这篇帖子
http://blog.163.com/yang_jianli/blog/static/161990006201162152724339/ 
 

9 个评论

pip不执行呀,提示不是内部或外部命令
改环境变量就行了
请教怎么改变环境变量?
脚本加载进去,没有parameters啊?
worksheet.write(i, ii, rr)
raise TypeError("Unsupported type %s in write()" % type(token))
Failed to execute (属性表输出为xlsx格式).
失败信息如下:
Traceback (most recent call last):
File "D:\Program Files (x86)\ArcGIS\Desktop10.8\ArcToolbox\Toolboxes\2fff.py", line 24, in <module>
worksheet.write(i, ii, rr)
File "D:\Python27\ArcGIS10.8\lib\site-packages\xlsxwriter\worksheet.py", line 88, in cell_wrapper
return method(self, *args, **kwargs)
File "D:\Python27\ArcGIS10.8\lib\site-packages\xlsxwriter\worksheet.py", line 447, in write
return self._write(row, col, *args)
File "D:\Python27\ArcGIS10.8\lib\site-packages\xlsxwriter\worksheet.py", line 527, in _write
raise TypeError("Unsupported type %s in write()" % type(token))
TypeError: Unsupported type <type 'tuple'> in write()
跟楼上报同样的错 24,88,447,527
if ii==len(list(fields))-1:
worksheet.write(i, ii, rr.__str__())
else:
worksheet.write(i, ii, rr.__str__())
i+=1
xlsxfile.close()
倒数第三行代码跟倒数第五行代码保持一致就不报错了,缺一个,.__str__()
感谢大佬,但还是失败了,提示第19行出错,不知道什么原因

要回复文章请先登录注册