2016-04-29 19 views
0

私は、ESRIフィーチャクラス属性テーブルをExcelファイルに変換するスクリプトを用意しています。問題は、プロセスにオブジェクトIDフィールドを追加することです。これは、設定された配列を参照する.dttアプリケーションを使用して、アップロードするファイルをデータベースにねじ込みます。したがって、出力ファイルを読み込むためのスクリプトが必要で、最初の列を除いてすべてを新しいExcelファイルに追加する必要があります。 xlrdとxlwt機能に至るまでのすべてが正常に動作しているので、私は、変換を得意とする前に、表にすべてを除外します:Pythonで1つのExcelファイルから別の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を使用すると、より柔軟で便利です

関連する問題