如何使用python按列对xls文件进行排序并将其写入另一个包含整行的文件?

2023-12-04

如何使用 python 按列对 xls 文件进行排序并将其写入另一个包含整行的文件? xls 文件必须按列排序。排序后必须将其写入另一个文件中。


怎么样:

     column = 0 #The column you want to sort by
     reader = list(csv.reader(open('input.xsl')))
     reader.sort(key=lambda x: x[column])
     writer = csv.writer(open('output.xsl', 'w'))
     writer.writerows(reader)

我的错,我猜你总是可以导出为 csv。如果您想坚持使用 xls,可以使用 xlrd 和 xlwt。我对此没有做过太多工作,但我确实有一个来自我不久前必须完成的任务的示例。就是这样(并不是 100% 好,因为每列的单元格标题将存储为输出文件中数据的第一行):

    import xlwt
    from xlrd import open_workbook

    target_column = 0

    book = open_workbook('input.xls', formatting_info=True)
    sheet = book.sheets()[0]
    data = [sheet.row_values(i) for i in xrange(sheet.nrows)]
    labels = data[0]
    data = data[1:]
    data.sort(key=lambda x: x[target_column])

    wbk = xlwt.Workbook()
    sheet = wbk.add_sheet(sheet.name)

    for idx, label in enumerate(labels):
         sheet.write(0, idx, label)

    for idx_r, row in enumerate(data):
        for idx_c, value in enumerate(row):
            sheet.write(idx_r+1, idx_c, value)

    wbk.save('result.xls')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用python按列对xls文件进行排序并将其写入另一个包含整行的文件? 的相关文章

随机推荐