簡體   English   中英

逐行讀取.xls文件數據

[英]Read .xls file data row by row python

我想使用任何特定單元格的值逐行讀取.xls文件數據。

考慮有一個主要的列是ID,Name,Address,Age,Marks,Branch這些是主要的字段。 現在我想訪問其整數行(i == 4)。 我想通過使用特定單元格的值來訪問該行。

在這里我嘗試了一些

import xlrd
workbook = xlrd.open_workbook('sheet2.xls')
worksheet = workbook.sheet_by_name('Sheet1')
num_rows = worksheet.nrows - 1
num_cells = worksheet.ncols - 1
curr_row = -1
while curr_row < num_rows:
    curr_row += 1
    row = worksheet.row(curr_row)
    print 'Row:', curr_row
    curr_cell = -1
    while curr_cell < num_cells:
        curr_cell += 1
        # Cell Types: 0=Empty, 1=Text, 2=Number, 3=Date, 4=Boolean, 5=Error, 6=Blank
        cell_type = worksheet.cell_type(curr_row, curr_cell)
        cell_value = worksheet.cell_value(curr_row, curr_cell)
        print ' ', cell_type, ':', cell_value

所以我得到的輸出就像

Row: 8
        2 : 96.0
        1 : Robert
        1 : Honore
        1 : 607-829-7943
        2 : 56.0
        1 : Faye
        1 : Wight
        1 : Faye.A.Wight@mailinator.com

所以它以這種格式打印整行。 但我想按值訪問行。 我們可以使用cell_value = worksheet.cell_value(1,1)來獲取單元格值,但是如何獲取該單元格值的行號。 我希望使用像(id == 5)或(age == 17)這樣的條件來獲取整行。請幫我解決這個問題。

您嘗試做的事情稱為“搜索”,您無法使用xlrd執行此xlrd 它不提供搜索功能。 您必須循環遍歷數據並自行搜索。

這很簡單,但不要忘記性能。 例如,如果您計划多次在工作表中搜索某些內容,而不是考慮在首次查找后緩存已分析的數據,並將其保存到內存中以供下次使用。

暫無
暫無

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

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