Python dbf到xls-第一个非标题行未写入

Python dbf到xls-第一个非标题行未写入,python,excel,type-conversion,dbf,Python,Excel,Type Conversion,Dbf,我想使用python将.dbf文件转换为.xls。我引用了此代码,但是我无法使用此代码获取要写入的第一个非标题行: from xlwt import Workbook, easyxf import dbfpy.dbf dbf = dbfpy.dbf.Dbf("C:\\Temp\\Owner.dbf") book = Workbook() sheet1 = book.add_sheet('Sheet 1') header_style = easy

我想使用python将.dbf文件转换为.xls。我引用了此代码,但是我无法使用此代码获取要写入的第一个非标题行:

    from xlwt import Workbook, easyxf
    import dbfpy.dbf

    dbf = dbfpy.dbf.Dbf("C:\\Temp\\Owner.dbf")
    book = Workbook()
    sheet1 = book.add_sheet('Sheet 1')

    header_style = easyxf('font: name Arial, bold True, height 200;')

    for (i, name) in enumerate(dbf.fieldNames):
        sheet1.write(0, i, name, header_style)

    for row in range(1, len(dbf)):
        for col in range(len(dbf.fieldNames)):
            sheet1.row(row).write(col, dbf[row][col])

    book.save("C:\\Temp\\Owner.xls")
如何获取要写入的第一个非标题行


谢谢

您遗漏了dbf中第一行的第0行。在dbf文件中,列名不是一行。但是,Excel文件中的第0行是标题,因此dbf和xls中的索引需要不同,因此您需要将1添加到Excel工作表中使用的行中

所以


注意,引用的snipper也没有将1添加到范围中,这导致了以下错误:异常:尝试覆盖单元格:sheetname=u'Sheet 1'rowx=0 colx=0
for row in range(len(dbf)):
    for col in range(len(dbf.fieldNames)):
        sheet1.row(row+1).write(col, dbf[row][col])