簡體   English   中英

使用列表在xlrd中搜索困難

[英]Difficulty with using Lists to search in xlrd

我正在嘗試編寫一個程序,該程序從excel文件的第一列(姓氏)中獲取單元格,並在同一行中與其相鄰的單元格的文本內搜索該字符串。

目前,我的代碼如下:

    import xlrd
workbook = xlrd.open_workbook("C:\Python27\Doc\Book3.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)
    curr_cell = 2
    while curr_cell < num_cells:
        curr_cell += 1
        cell_value = worksheet.cell_value(curr_row, curr_cell)
sh = workbook.sheet_by_index(0)     
first_col = sh.col_values(2)
second_col = sh.col_values(3)
L = [first_col]
L1 = [second_col]
for i, j in enumerate(L):
    if j in L1[i]:
        print j
    else:
        print 'no'

當我手動生成列表時,我的代碼似乎“有效”(即僅是L = ['a','b','c']和L1 = ['Today a cat a','Today b cat b']等,但是當我嘗試使用xlrd創建列表時,我得到的只是一個“否”打印輸出,這非常令人困惑。我認為這與對列表建立索引的方式或其他方式有關否則列表的大小就很奇怪(A列中有16,000個名稱,B列中約有5,000,000個單詞)

可以提供的任何幫助/提示將不勝感激。 我已經在網絡上(和此處)看到了許多用於完成類似任務的方法,但是我不知道如何將不同的方法集成到對我有效的方法中。

非常感謝

試試看:

import xlrd

workbook = xlrd.open_workbook("input.xls")
worksheet = workbook.sheet_by_name("Sheet1")

for row in xrange(worksheet.nrows):
    value_first = worksheet.cell_value(row, 0)
    value_second = worksheet.cell_value(row, 1)
    if value_first in value_second:
        print row
    else:
        print 'no'

暫無
暫無

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

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