2017-05-04 41 views
0

我想寫一個Python程序,根據他們的標記創建一個選定學生(以Excel工作表的形式)的列表。學生的詳細信息採用兩列的Excel表(名爲「data.xlsx」)形式;名稱一列,標記二列。Python可以根據Excel工作表中的值選擇姓名

我寫了一個代碼列出學生馬克其是80%以上,並且所述代碼是:

import xlrd 
import xlwt 
wb = xlrd.open_workbook('data.xlsx') 
sheet = wb.sheet_by_index(0) 
if sheet.cell(row, 0).value >= 80:` 
    data1 = [sheet.cell_value(row, 18) for row in range(sheet.nrows)] 
workbook = xlwt.Workbook() 
sheet = workbook.add_sheet('test') 
for index, value in enumerate(data1): 
    sheet.write(index, 1, value) 
workbook.save('output.xlsx') 

我面對兩個問題:

1所述的數據陣列(DATA1和輸出的Excel表格)列出了所有的條目(即標記),而不是僅列出80%以上的標記

2,我不知道如何在學生標記中寫入相應的名稱(在第二列)柱)。

回答

1

試試這個

import xlrd 
import xlwt 
wb = xlrd.open_workbook('data.xlsx') 
sheet = wb.sheet_by_index(0) 

data1 = [(sheet.cell(row, 0).value, sheet.cell(row, 1).value) for row in range(sheet.nrows) if sheet.cell(row, 0).value >= 80] 

workbook = xlwt.Workbook() 
sheet = workbook.add_sheet('test') 
for index, (val0, val1) in enumerate(data1): 
    sheet.write(index, 1, val0) 
    sheet.write(index, 2, val1) 
workbook.save('output.xlsx') 
+0

非常感謝您Elmex – Ashok

相關問題