2016-04-29 111 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,它更靈活,更有幫助

相關問題