怎么样:
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)
Run Code Online (Sandbox Code Playgroud)
我的坏,你可以随时输出为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')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6117 次 |
| 最近记录: |