我有一个脚本可以将ESRI要素类属性表转换为Excel文件。问题是它在进程中添加了一个对象ID字段。这会使用引用set数组的.dtt应用程序将文件上传到数据库。因此,我需要脚本来读取输出excel文件并将所有内容添加到没有第一列的新excel文件中。导致xlrd和xlwt函数的所有功能都正常工作,因此我将在表之前排除所有内容以实现转换:
arcpy.TableToExcel_conversion(outTemplate, outXL)
print "arcpy.AddMessage(Creating GoLive_+glName)"
workbook = xlrd.open_workbook(outXL)
writeBook = r"S:Upload\SVRSTA00.xls"
sheet = workbook.sheet_by_index(0)
cell_range_value = 0
for value in sheet.col(32):
cell_range_value += 1
print cell_range_value
dct1 = {}
for i in range(1, cell_range_value,1):
data = [sheet.cell_value(i, col) for col in range(sheet.ncols)[1:]]
cell_value_class = sheet.cell(i,32).value
cell_value_id = data
dct1[cell_value_class] = cell_value_id
print
workbook = xlwt.Workbook()
sheet = workbook.add_sheet('SVRSTA00')
for index, value in enumerate(dct1):
sheet.write(0, index, value)
workbook.save(writeBook)
这是我得到的错误:
ValueError: column index (u'181011020') not an int in range(256)
答案 0 :(得分:1)
Excel支持256列,注意列的值(从0到255)。
您可以使用openpyxl,它更灵活,更有帮助