2016-04-29 162 views
0

我有一个将ESRI要素类属性表转换为Excel文件的脚本。问题是它在进程中添加了一个对象ID字段。这使用引用集合数组的.dtt应用程序将文件上传到数据库。因此,我需要脚本来读取输出的excel文件,并将所有内容添加到新的excel文件中,而不需要第一列。一切都导致对xlrd和xlwt功能工作正常,所以我会以表之前排除一切出类拔萃的转换:在Python中将数组从一个Excel文件写入另一个文件

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) 

回答

1

Excel支持直到256列,请注意列的值(从0到255)。

您可以使用openpyxl,它更灵活,更有帮助

相关问题