簡體   English   中英

如何對xls文件按列進行排序,並使用python將其寫入整個行的另一個文件中?

[英]how to sort xls file column wise and write it to another file with entire row using python?

如何對XLS文件按列進行排序,然后使用python將其寫入整個行的另一個文件中? 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')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM