您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

怎么样:

     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')
python 2022/1/1 18:45:39 有410人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶