在Python中将数组从一个Excel文件写入另一个Excel文件

时间:2016-04-29 23:16:52

标签: python excel xlrd xlwt

我有一个脚本可以将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)

1 个答案:

答案 0 :(得分:1)

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

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